Fix uip/whom.c for C89 compatibility
[mmh] / uip / rcvdist.c
index b54bc39..af3fc10 100644 (file)
@@ -26,6 +26,8 @@ static struct swit switches[] = {
        { NULL, 0 }
 };
 
+char *version=VERSION;
+
 static char backup[BUFSIZ] = "";
 static char drft[BUFSIZ] = "";
 static char tmpfil[BUFSIZ] = "";
@@ -85,7 +87,7 @@ main(int argc, char **argv)
                                continue;
                        }
                }
-               addrs = addrs ? add(cp, add(", ", addrs)) : getcpy(cp);
+               addrs = addrs ? add(cp, add(", ", addrs)) : mh_xstrdup(cp);
        }
 
        if (!addrs) {
@@ -154,7 +156,7 @@ rcvdistout(FILE *inb, char *form, char *addrs)
 {
        int char_read = 0, format_len, i;
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char **ap;
        char *cp, *scanl;
        struct comp *cptr;
@@ -192,7 +194,7 @@ rcvdistout(FILE *inb, char *form, char *addrs)
                                        }
                                        char_read += strlen(f.value);
                                        if (!cptr->c_text) {
-                                               cptr->c_text = getcpy(f.value);
+                                               cptr->c_text = mh_xstrdup(f.value);
                                        } else {
                                                cp = cptr->c_text;
                                                i = strlen(cp) - 1;
@@ -225,7 +227,7 @@ rcvdistout(FILE *inb, char *form, char *addrs)
 finished: ;
 
        i = format_len + char_read + 256;
-       scanl = mh_xmalloc((size_t) i + 2);
+       scanl = mh_xcalloc(i + 2, sizeof(char));
        dat[0] = dat[1] = dat[2] = dat[4] = 0;
        dat[3] = OUTPUTLINELEN;
        fmt_scan(fmt, scanl, i, dat);
@@ -236,7 +238,7 @@ finished: ;
        }
        fclose(out);
 
-       free(scanl);
+       mh_free0(&scanl);
 }