]> diplodocus.org Git - nmh/blobdiff - uip/mhmisc.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / mhmisc.c
index 2d6ec569c2383ee0a80edb260e4d6d7ae85b06b9..acaae82ab0b54bf6702b3987c04ef8104717aa09 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * mhparse.c -- misc routines to process MIME messages
+/* mhmisc.c -- misc routines to process MIME messages
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -11,6 +9,8 @@
 #include <h/mime.h>
 #include <h/mhparse.h>
 #include <h/utils.h>
+#include "sbr/makedir.h"
+#include "mhmisc.h"
 
 extern int debugsw;
 
@@ -27,16 +27,6 @@ int userrs = 0;
 static char *errs = NULL;
 
 
-/*
- * prototypes
- */
-int part_ok (CT);
-int part_exact(CT ct);
-int type_ok (CT, int);
-void content_error (char *, CT, char *, ...);
-void flush_errors (void);
-
-
 int
 part_ok (CT ct)
 {
@@ -104,7 +94,7 @@ type_ok (CT ct, int sP)
 
 
 /*
- * Returns true if this content is marked as "inline".
+ * Returns true if the content has a disposition of "inline".
  *
  * Technically we should check parent content to see if they have
  * disposition to use as a default, but we don't right now.  Maybe
@@ -122,8 +112,7 @@ is_inline(CT ct)
 
     if (! ct->c_dispo_type || strcasecmp(ct->c_dispo_type, "inline") == 0)
        return 1;
-    else
-       return 0;
+    return 0;
 }
 
 int
@@ -152,7 +141,7 @@ losing_directory:
            if (!answer)
                goto losing_directory;
            if (!makedir (file)) {
-               advise (NULL, "unable to create directory %s", file);
+               inform("unable to create directory %s", file);
                goto losing_directory;
            }
        }
@@ -172,7 +161,7 @@ void
 content_error (char *what, CT ct, char *fmt, ...)
 {
     va_list arglist;
-    int        i, len, buflen;
+    int        len, buflen;
     char *bp, buffer[BUFSIZ];
     CI ci;
 
@@ -215,10 +204,8 @@ content_error (char *what, CT ct, char *fmt, ...)
        buflen -= len;
     }
 
-    i = strlen (invo_name) + 2;
-
     /* Now add content type and subtype */
-    snprintf (bp, buflen, "\n%*.*s(content %s/%s", i, i, "",
+    snprintf (bp, buflen, "\n    (content %s/%s",
        ci->ci_type, ci->ci_subtype);
     len = strlen (bp);
     bp += len;
@@ -251,8 +238,10 @@ content_error (char *what, CT ct, char *fmt, ...)
 
        errs = add (buffer, errs);
     } else {
-       advise (NULL, "%s", buffer);
+       inform("%s", buffer);
     }
+
+    va_end(arglist);
 }
 
 
@@ -261,7 +250,7 @@ flush_errors (void)
 {
     if (errs) {
        fflush (stdout);
-       fprintf (stderr, "%s", errs);
+       fputs(errs, stderr);
        free (errs);
        errs = NULL;
     }