Fix uip/whom.c for C89 compatibility
[mmh] / uip / mhshow.c
index 691ef8c..be9cd45 100644 (file)
@@ -42,6 +42,7 @@ static struct swit switches[] = {
        { NULL, 0 }
 };
 
+char *version=VERSION;
 
 /* mhparse.c */
 extern char *tmp;  /* directory to place temp files */
@@ -166,7 +167,7 @@ main(int argc, char **argv)
                                if (!(cp = *argp++) || (*cp == '-' && cp[1]))
                                        adios(EX_USAGE, NULL, "missing argument to %s",
                                                        argp[-2]);
-                               file = *cp == '-' ? cp : getcpy(expanddir(cp));
+                               file = *cp == '-' ? cp : mh_xstrdup(expanddir(cp));
                                continue;
 
                        case FORMSW:
@@ -174,8 +175,8 @@ main(int argc, char **argv)
                                        adios(EX_USAGE, NULL, "missing argument to %s",
                                                        argp[-2]);
                                if (formsw)
-                                       free(formsw);
-                               formsw = getcpy(etcpath(cp));
+                                       mh_free0(&formsw);
+                               formsw = mh_xstrdup(etcpath(cp));
                                continue;
 
                        case VERBSW:
@@ -193,7 +194,7 @@ main(int argc, char **argv)
                        if (folder)
                                adios(EX_USAGE, NULL, "only one folder at a time!");
                        else
-                               folder = getcpy(expandfol(cp));
+                               folder = mh_xstrdup(expandfol(cp));
                } else if (mode != SHOW) {
                        adios(EX_USAGE, NULL, "Either call show as `%s' or give message arguments", invo_name);
                } else {
@@ -240,7 +241,7 @@ main(int argc, char **argv)
        if ((cp = context_find(nmhstorage)) && *cp)
                tmp = concat(cp, "/", invo_name, NULL);
        else
-               tmp = getcpy(toabsdir(invo_name));
+               tmp = mh_xstrdup(toabsdir(invo_name));
 
        if (file && msgs.size)
                adios(EX_USAGE, NULL, "cannot specify msg and file at same time!");
@@ -359,8 +360,7 @@ main(int argc, char **argv)
        for (ctp = cts; *ctp; ctp++)
                free_content(*ctp);
 
-       free((char *) cts);
-       cts = NULL;
+       mh_free0(&cts);
 
        /* If reading from a folder, do some updating */
        if (mp) {