aboutsummaryrefslogtreecommitdiffstats
path: root/g10/sign.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-06-13 08:07:07 +0000
committerWerner Koch <[email protected]>2023-06-13 08:07:07 +0000
commit808494b48577c2efb894a0877f59d9c4ed664f56 (patch)
tree2cbec3605802ff7e2c5d205d55b5322c91b44d12 /g10/sign.c
parentgpg: Print status line and proper diagnostics for write errors. (diff)
downloadgnupg-808494b48577c2efb894a0877f59d9c4ed664f56.tar.gz
gnupg-808494b48577c2efb894a0877f59d9c4ed664f56.zip
gpg: Make progress work for large files on Windows.
* common/iobuf.c (iobuf_get_filelength): Change return type to uint64_t and remove the overflow args. For Windows always use GetFileSizeEx which is available since the long EOL-ed Windows XP. * g10/sign.c (write_plaintext_packet): Adjust for changed iobuf_get_filelength. * g10/encrypt.c (encrypt_simple, encrypt_crypt): Ditto. * g10/photoid.c (generate_photo_id): Ditto. Also add an upper limit. * g10/filter.h (progress_filter_context_t): Change amount values to use uint64_t. * g10/progress.c (write_status_progress): Change accordingly. -- GnuPG-bug-id: 6534
Diffstat (limited to 'g10/sign.c')
-rw-r--r--g10/sign.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/g10/sign.c b/g10/sign.c
index b5e9d422d..f9984f811 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -823,11 +823,10 @@ write_plaintext_packet (iobuf_t out, iobuf_t inp,
/* Try to calculate the length of the data. */
if ( !iobuf_is_pipe_filename (fname) && *fname)
{
- off_t tmpsize;
- int overflow;
+ uint64_t tmpsize;
- if (!(tmpsize = iobuf_get_filelength (inp, &overflow))
- && !overflow && opt.verbose)
+ tmpsize = iobuf_get_filelength (inp);
+ if (!tmpsize && opt.verbose)
log_info (_("WARNING: '%s' is an empty file\n"), fname);
/* We can't encode the length of very large files because