X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fmf.c;h=c86d4d5dd0f26e1d52545cee072b265d390fb32f;hp=6338a6eff711aa3ad056e43af3e6625a74d1c63b;hb=d4bcca1aa235370bc20bc2734c0cd6f700b17871;hpb=fdc012cb43b5fc0baa6f4470b47be397bfc3f21b diff --git a/sbr/mf.c b/sbr/mf.c index 6338a6e..c86d4d5 100644 --- a/sbr/mf.c +++ b/sbr/mf.c @@ -10,6 +10,9 @@ #include #include #include +#include +#include +#include /* ** static prototypes @@ -27,7 +30,7 @@ static int my_lex(char *); static char * getcpy(char *s) { - register char *p; + char *p; if (!s) { /* @@ -39,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; } @@ -161,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(¬e); 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: @@ -269,8 +270,7 @@ again: ; } case LX_COMA: if (note) { - free(note); - note = NULL; + mh_free0(¬e); } goto again; @@ -418,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) @@ -498,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: @@ -539,7 +538,7 @@ route(char *buffer) default: sprintf(err, "no at-sign found for next domain in route (%s)", - buffer); + buffer); } break; } @@ -567,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 @@ -708,7 +707,7 @@ char * legal_person(char *p) { int i; - register char *cp; + char *cp; static char buffer[BUFSIZ]; if (*p == '"')