diff options
author | Werner Koch <[email protected]> | 2023-06-13 08:07:07 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-06-13 08:07:07 +0000 |
commit | 808494b48577c2efb894a0877f59d9c4ed664f56 (patch) | |
tree | 2cbec3605802ff7e2c5d205d55b5322c91b44d12 /g10/sign.c | |
parent | gpg: Print status line and proper diagnostics for write errors. (diff) | |
download | gnupg-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.c | 7 |
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 |