aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog12
-rw-r--r--g10/encode.c16
-rw-r--r--g10/plaintext.c5
-rw-r--r--g10/progress.c2
-rw-r--r--g10/sign.c14
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;