fixes bad semantics (an invalid fd is -1 not 0).
authorPierre Habouzit <madcoder@debian.org>
Wed, 13 Dec 2006 19:05:25 +0000 (20:05 +0100)
committerPierre Habouzit <madcoder@debian.org>
Wed, 13 Dec 2006 19:05:25 +0000 (20:05 +0100)
fix uninitialized variables.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
attach.c
lib-mx/compress.c
recvattach.c

index f917c1f..1dbc76e 100644 (file)
--- 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)) {
index 9e44f34..1684dd3 100644 (file)
@@ -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);
index 94ef9ab..b9db799 100644 (file)
@@ -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);