Fix uip/whom.c for C89 compatibility
[mmh] / uip / mhlistsbr.c
index c2db987..dd6264b 100644 (file)
@@ -9,13 +9,13 @@
 
 #include <h/mh.h>
 #include <fcntl.h>
-#include <h/signals.h>
 #include <errno.h>
-#include <signal.h>
 #include <h/tws.h>
 #include <h/mime.h>
 #include <h/mhparse.h>
 #include <h/utils.h>
+#include <sys/stat.h>
+#include <sysexits.h>
 
 /* mhmisc.c */
 int part_ok(CT, int);
@@ -25,7 +25,7 @@ void flush_errors(void);
 /*
 ** prototypes
 */
-void list_all_messages(CT *, int, int, int);
+void list_all_messages(CT *, int, int);
 int list_switch(CT, int, int, int);
 int list_content(CT, int, int, int);
 
@@ -57,19 +57,15 @@ static int list_encoding(CT);
 ** Top level entry point to list group of messages
 */
 void
-list_all_messages(CT *cts, int headers, int verbose, int debug)
+list_all_messages(CT *cts, int verbose, int debug)
 {
        CT ct, *ctp;
 
-       if (headers)
-               printf(LSTFMT1, "msg", "part", "type/subtype", "size",
-                               "description");
-
+       printf(LSTFMT1, "msg", "part", "type/subtype", "size", "description");
        for (ctp = cts; *ctp; ctp++) {
                ct = *ctp;
                list_single_message(ct, verbose, debug);
        }
-
        flush_errors();
 }
 
@@ -122,7 +118,7 @@ list_switch(CT ct, int toplevel, int verbose, int debug)
 
        default:
                /* list_debug (ct); */
-               adios(NULL, "unknown content type %d", ct->c_type);
+               adios(EX_DATAERR, NULL, "unknown content type %d", ct->c_type);
                break;
        }
 
@@ -178,11 +174,10 @@ list_content(CT ct, int toplevel, int verbose, int debug)
        /* print Content-Description */
        if (ct->c_descr) {
                char *dp;
-
-               dp = trimcpy(cp = getcpy(ct->c_descr));
-               free(cp);
+               dp = trimcpy(cp = mh_xstrdup(ct->c_descr));
+               mh_free0(&cp);
                printf(LSTFMT2d1, dp);
-               free(dp);
+               mh_free0(&dp);
        }
 
        printf("\n");
@@ -205,7 +200,7 @@ list_content(CT ct, int toplevel, int verbose, int debug)
                        dp = trimcpy(cp = add(ci->ci_comment, NULL));
                        free (cp);
                        snprintf(buffer, sizeof(buffer), "(%s)", dp);
-                       free(dp);
+                       mh_free0(&dp);
                        printf(LSTFMT2d2, buffer);
                }
        }