From 3b7a8f7577e7b40d39ba510f54bde0d3ec0cc58f Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Wed, 13 Dec 2006 20:05:25 +0100 Subject: [PATCH] fixes bad semantics (an invalid fd is -1 not 0). fix uninitialized variables. Signed-off-by: Pierre Habouzit --- attach.c | 24 +++++++++++------------- lib-mx/compress.c | 7 +++---- recvattach.c | 12 ++++++------ 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/attach.c b/attach.c index f917c1f..1dbc76e 100644 --- a/attach.c +++ b/attach.c @@ -570,8 +570,7 @@ return_error: } /* returns 1 on success, 0 on error */ -int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path, - int out) +int mutt_pipe_attachment(FILE * fp, BODY * b, const char *path, int out) { pid_t thepid; int rv = 0; @@ -583,7 +582,7 @@ int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path, STATE s; p_clear(&s, 1); - if (out) + if (out >= 0) thepid = mutt_create_filter_fd(path, &s.fpout, NULL, NULL, -1, out, -1); else thepid = mutt_create_filter(path, &s.fpout, NULL, NULL); @@ -597,8 +596,7 @@ int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path, s.fpin = fp; mutt_decode_attachment (b, &s); m_fclose(&s.fpout); - } - else { + } else { /* send case */ FILE *ifp, *ofp; @@ -608,10 +606,10 @@ int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path, return 0; } - if (out) - thepid = mutt_create_filter_fd (path, &ofp, NULL, NULL, -1, out, -1); + if (out >= 0) + thepid = mutt_create_filter_fd(path, &ofp, NULL, NULL, -1, out, -1); else - thepid = mutt_create_filter (path, &ofp, NULL, NULL); + thepid = mutt_create_filter(path, &ofp, NULL, NULL); if (thepid < 0) { mutt_perror (_("Can't create filter")); @@ -629,16 +627,16 @@ int mutt_pipe_attachment (FILE * fp, BODY * b, const char *path, bail: - if (out) - close (out); + if (out >= 0) + close(out); /* * check for error exit from child process */ - if (mutt_wait_filter (thepid) != 0) + if (mutt_wait_filter(thepid) != 0) rv = 0; - if (rv == 0 || option (OPTWAITKEY)) + if (rv == 0 || option(OPTWAITKEY)) mutt_any_key_to_continue (NULL); return rv; } @@ -913,7 +911,7 @@ int mutt_print_attachment (FILE * fp, BODY * a) tok = mime_which_token(type, -1); if (tok == MIME_TEXT_PLAIN || tok == MIME_APPLICATION_POSTSCRIPT) { - return (mutt_pipe_attachment (fp, a, NONULL (PrintCmd), 0)); + return mutt_pipe_attachment(fp, a, NONULL (PrintCmd), -1); } if (mutt_can_decode (a)) { diff --git a/lib-mx/compress.c b/lib-mx/compress.c index 9e44f34..1684dd3 100644 --- a/lib-mx/compress.c +++ b/lib-mx/compress.c @@ -174,7 +174,7 @@ int mutt_check_mailbox_compressed (CONTEXT * ctx) return 0; } -int mutt_open_read_compressed (CONTEXT * ctx) +int mutt_open_read_compressed(CONTEXT * ctx) { char *cmd; FILE *fp; @@ -204,9 +204,8 @@ int mutt_open_read_compressed (CONTEXT * ctx) return -1; } close(tmpfd); - - ctx->path = p_dupstr(tmppath, m_strlen(tmppath)); + ctx->path = p_dupstr(tmppath, m_strlen(tmppath)); ctx->cinfo->size = get_size(ctx->realpath); if (!ctx->quiet) @@ -279,7 +278,7 @@ int mutt_open_append_compressed (CONTEXT * ctx) if (!get_append_command (ctx->path, ctx)) { if (ci->open && ci->close) - return mutt_open_read_compressed (ctx); + return mutt_open_read_compressed(ctx); ctx->magic = 0; p_delete(&ctx->cinfo); diff --git a/recvattach.c b/recvattach.c index 94ef9ab..b9db799 100644 --- a/recvattach.c +++ b/recvattach.c @@ -486,16 +486,16 @@ void mutt_save_attachment_list (FILE * fp, int tag, BODY * top, HEADER * hdr, } static void -mutt_query_pipe_attachment (char *command, FILE * fp, BODY * body, int afilter) +mutt_query_pipe_attachment(char *command, FILE * fp, BODY * body, int afilter) { char tfile[_POSIX_PATH_MAX]; char warning[STRING + _POSIX_PATH_MAX]; - int tempfd; + int tempfd = -1; if (afilter) { - snprintf (warning, sizeof (warning), - _("WARNING! You are about to overwrite %s, continue?"), - body->filename); + snprintf(warning, sizeof (warning), + _("WARNING! You are about to overwrite %s, continue?"), + body->filename); if (mutt_yesorno (warning, M_NO) != M_YES) { CLEARLINE (LINES - 1); return; @@ -503,7 +503,7 @@ mutt_query_pipe_attachment (char *command, FILE * fp, BODY * body, int afilter) tempfd = m_tempfd(tfile, sizeof(tfile), NONULL(Tempdir), NULL); } - if (mutt_pipe_attachment (fp, body, command, tempfd)) { + if (mutt_pipe_attachment(fp, body, command, tempfd)) { if (afilter) { mutt_unlink (body->filename); mutt_rename_file (tfile, body->filename); -- 2.20.1