diff options
Diffstat (limited to '')
-rw-r--r-- | g10/ChangeLog | 12 | ||||
-rw-r--r-- | g10/encode.c | 16 | ||||
-rw-r--r-- | g10/plaintext.c | 5 | ||||
-rw-r--r-- | g10/progress.c | 2 | ||||
-rw-r--r-- | g10/sign.c | 14 |
5 files changed, 31 insertions, 18 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 5dca098f2..64b8f3a41 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,15 @@ +2004-11-04 David Shaw <[email protected]> + + * plaintext.c (handle_plaintext): Don't try and create a + zero-length filename when using --use-embedded-filename with input + that has no filename (clearsigned or message generated from a + pipe). + + * encode.c (encode_simple, encode_crypt), progress.c + (handle_progress), sign.c (write_plaintext_packet): Fix a few + inconsistent calls (NULL filename means a pipe here, so don't + bother to check it twice). + 2004-11-03 David Shaw <[email protected]> * misc.c (print_digest_algo_note): The latest 2440bis drafts diff --git a/g10/encode.c b/g10/encode.c index 764b804b3..d1898b371 100644 --- a/g10/encode.c +++ b/g10/encode.c @@ -300,8 +300,8 @@ encode_simple( const char *filename, int mode, int use_seskey ) either partial length or fixed length with the new style messages. */ - if ( !iobuf_is_pipe_filename (filename) && filename && *filename - && !opt.textmode ) { + if ( !iobuf_is_pipe_filename (filename) && *filename && !opt.textmode ) + { off_t tmpsize; if ( !(tmpsize = iobuf_get_filelength(inp)) ) @@ -314,9 +314,9 @@ encode_simple( const char *filename, int mode, int use_seskey ) filesize = tmpsize; else filesize = 0; - } + } else - filesize = opt.set_filesize ? opt.set_filesize : 0; /* stdin */ + filesize = opt.set_filesize ? opt.set_filesize : 0; /* stdin */ if (!opt.no_literal) { pt->timestamp = make_timestamp(); @@ -596,8 +596,8 @@ encode_crypt( const char *filename, STRLIST remusr, int use_symkey ) } } - if (!iobuf_is_pipe_filename (filename) && *filename - && !opt.textmode ) { + if (!iobuf_is_pipe_filename (filename) && *filename && !opt.textmode ) + { off_t tmpsize; if ( !(tmpsize = iobuf_get_filelength(inp)) ) @@ -610,9 +610,9 @@ encode_crypt( const char *filename, STRLIST remusr, int use_symkey ) filesize = tmpsize; else filesize = 0; - } + } else - filesize = opt.set_filesize ? opt.set_filesize : 0; /* stdin */ + filesize = opt.set_filesize ? opt.set_filesize : 0; /* stdin */ if (!opt.no_literal) { pt->timestamp = make_timestamp(); diff --git a/g10/plaintext.c b/g10/plaintext.c index a09e5e9e4..6eecb6944 100644 --- a/g10/plaintext.c +++ b/g10/plaintext.c @@ -105,13 +105,14 @@ handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx, if( nooutput ) ; - else if ( iobuf_is_pipe_filename (fname) ) { + else if ( iobuf_is_pipe_filename (fname) || !*fname) + { /* No filename or "-" given; write to stdout. */ fp = stdout; #ifdef HAVE_DOSISH_SYSTEM setmode ( fileno(fp) , O_BINARY ); #endif - } + } else { while( !overwrite_filep (fname) ) { char *tmp = ask_outfile_name (NULL, 0); diff --git a/g10/progress.c b/g10/progress.c index 42b5ae89e..5c0725ae4 100644 --- a/g10/progress.c +++ b/g10/progress.c @@ -105,7 +105,7 @@ handle_progress (progress_filter_context_t *pfx, IOBUF inp, const char *name) if (!is_status_enabled ()) return; - if ( !iobuf_is_pipe_filename (name) && name && *name ) + if ( !iobuf_is_pipe_filename (name) && *name ) filesize = iobuf_get_filelength (inp); else if (opt.set_filesize) filesize = opt.set_filesize; diff --git a/g10/sign.c b/g10/sign.c index ee0d99f39..9777d0553 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -543,11 +543,12 @@ write_plaintext_packet (IOBUF out, IOBUF inp, const char *fname, int ptmode) } /* try to calculate the length of the data */ - if ( !iobuf_is_pipe_filename (fname) && fname && *fname ) { + if ( !iobuf_is_pipe_filename (fname) && *fname ) + { off_t tmpsize; if( !(tmpsize = iobuf_get_filelength(inp)) ) - log_info (_("WARNING: `%s' is an empty file\n"), fname); + log_info (_("WARNING: `%s' is an empty file\n"), fname); /* We can't encode the length of very large files because OpenPGP uses only 32 bit for file sizes. So if the size of @@ -563,11 +564,10 @@ write_plaintext_packet (IOBUF out, IOBUF inp, const char *fname, int ptmode) * without a double read of the file - to avoid that * we simple use partial length packets. */ if ( ptmode == 't' ) - filesize = 0; - } - else { - filesize = opt.set_filesize? opt.set_filesize : 0; /* stdin */ - } + filesize = 0; + } + else + filesize = opt.set_filesize? opt.set_filesize : 0; /* stdin */ if (!opt.no_literal) { PACKET pkt; |