Fix uip/whom.c for C89 compatibility
[mmh] / uip / mhlistsbr.c
index a59e0e8..dd6264b 100644 (file)
@@ -15,6 +15,7 @@
 #include <h/mhparse.h>
 #include <h/utils.h>
 #include <sys/stat.h>
+#include <sysexits.h>
 
 /* mhmisc.c */
 int part_ok(CT, int);
@@ -117,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;
        }
 
@@ -173,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");
@@ -200,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);
                }
        }