Fix missing va_end call in uip/mhmisc.c
[mmh] / sbr / mf.c
index 1780997..c86d4d5 100644 (file)
--- a/sbr/mf.c
+++ b/sbr/mf.c
@@ -30,7 +30,7 @@ static int my_lex(char *);
 static char *
 getcpy(char *s)
 {
-       register char *p;
+       char *p;
 
        if (!s) {
                /*
@@ -42,7 +42,7 @@ getcpy(char *s)
                for(;;)
                        pause();
        }
-       p = mh_xmalloc((size_t) (strlen(s) + 2));
+       p = mh_xcalloc(strlen(s) + 2, sizeof(char));
        strcpy(p, s);
        return p;
 }
@@ -164,37 +164,35 @@ static struct adrx  adrxs2;
 struct adrx *
 getadrx(char *addrs)
 {
-       register char *bp;
-       register struct adrx *adrxp = &adrxs2;
+       char *bp;
+       struct adrx *adrxp = &adrxs2;
 
        if (pers)
-               free(pers);
+               mh_free0(&pers);
        if (mbox)
-               free(mbox);
+               mh_free0(&mbox);
        if (host)
-               free(host);
+               mh_free0(&host);
        if (path)
-               free(path);
+               mh_free0(&path);
        if (grp)
-               free(grp);
+               mh_free0(&grp);
        if (note)
-               free(note);
-       pers = mbox = host = path = grp = note = NULL;
+               mh_free0(&note);
        err[0] = 0;
 
        if (dp == NULL) {
                dp = cp = getcpy(addrs ? addrs : "");
                glevel = 0;
        } else if (cp == NULL) {
-               free(dp);
-               dp = NULL;
+               mh_free0(&dp);
                return NULL;
        }
 
        switch (parse_address()) {
        case DONE:
-               free(dp);
-               dp = cp = NULL;
+               mh_free0(&dp);
+               cp = NULL;
                return NULL;
 
        case OK:
@@ -272,8 +270,7 @@ again: ;
                }
        case LX_COMA:
                if (note) {
-                       free(note);
-                       note = NULL;
+                       mh_free0(&note);
                }
                goto again;
 
@@ -421,7 +418,7 @@ phrase(char *buffer)
 static int
 route_addr(char *buffer)
 {
-       register char *pp = cp;
+       char *pp = cp;
 
        if (my_lex(buffer) == LX_AT) {
                if (route(buffer) == NOTOK)
@@ -501,8 +498,7 @@ domain(char *buffer)
 
                case LX_AT:  /* sigh (0) */
                        mbox = add(host, add("%", mbox));
-                       free(host);
-                       host = NULL;
+                       mh_free0(&host);
                        continue;
 
                default:
@@ -570,8 +566,8 @@ my_lex(char *buffer)
 {
        /* buffer should be at least BUFSIZ bytes long */
        int i;
-       register unsigned char c;
-       register char *bp;
+       unsigned char c;
+       char *bp;
 
        /*
        ** Add C to the buffer bp. After use of this macro *bp is guaranteed
@@ -711,7 +707,7 @@ char *
 legal_person(char *p)
 {
        int i;
-       register char *cp;
+       char *cp;
        static char buffer[BUFSIZ];
 
        if (*p == '"')