1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-25 01:42:45 +02:00

* 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).
This commit is contained in:
David Shaw 2004-11-04 22:28:39 +00:00
parent c09b34fede
commit 69ef25f8d6
5 changed files with 31 additions and 18 deletions

View File

@ -1,3 +1,15 @@
2004-11-04 David Shaw <dshaw@jabberwocky.com>
* 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 <dshaw@jabberwocky.com>
* misc.c (print_digest_algo_note): The latest 2440bis drafts

View File

@ -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();

View File

@ -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);

View File

@ -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;

View File

@ -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;