mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
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
This commit is contained in:
parent
695cb04af5
commit
808494b485
8 changed files with 52 additions and 86 deletions
|
@ -580,12 +580,12 @@ encrypt_simple (const char *filename, int mode, int use_seskey)
|
|||
|
||||
if ( !iobuf_is_pipe_filename (filename) && *filename && !opt.textmode )
|
||||
{
|
||||
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"), filename );
|
||||
|
||||
/* We can't encode the length of very large files because
|
||||
OpenPGP uses only 32 bit for file sizes. So if the
|
||||
size of a file is larger than 2^32 minus some bytes for
|
||||
|
@ -942,11 +942,10 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
|
|||
if (filename && *filename
|
||||
&& !iobuf_is_pipe_filename (filename) && !opt.textmode )
|
||||
{
|
||||
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"), filename );
|
||||
/* We can't encode the length of very large files because
|
||||
OpenPGP uses only 32 bit for file sizes. So if the size
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue