X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/ac95517a622081f0f4625dbdbad283b54ab56300..372d8d466d78a89031d07323b898b4e0703336dc:/sbr/mf.c diff --git a/sbr/mf.c b/sbr/mf.c index 63b13ba4..a604ce91 100644 --- a/sbr/mf.c +++ b/sbr/mf.c @@ -26,8 +26,8 @@ static int my_lex (char *); int isfrom(const char *string) { - return (strncmp (string, "From ", 5) == 0 - || strncmp (string, ">From ", 6) == 0); + return (has_prefix(string, "From ") + || has_prefix(string, ">From ")); } @@ -52,10 +52,8 @@ lequal (const char *a, const char *b) static int isat (const char *p) { - return (strncmp (p, " AT ", 4) - && strncmp (p, " At ", 4) - && strncmp (p, " aT ", 4) - && strncmp (p, " at ", 4) ? FALSE : TRUE); + return has_prefix(p, " AT ") || has_prefix(p, " At ") || + has_prefix(p, " aT ") || has_prefix(p, " at "); } @@ -180,18 +178,12 @@ getadrx (const char *addrs, int eai) char *bp; struct adrx *adrxp = &adrxs2; - if (pers) - free (pers); - if (mbox) - free (mbox); - if (host) - free (host); - if (path) - free (path); - if (grp) - free (grp); - if (note) - free (note); + mh_xfree(pers); + mh_xfree(mbox); + mh_xfree(host); + mh_xfree(path); + mh_xfree(grp); + mh_xfree(note); pers = mbox = host = path = grp = note = NULL; err[0] = 0; @@ -296,11 +288,10 @@ again: ; strcpy (err, "extraneous semi-colon"); return NOTOK; } + /* FALLTHRU */ case LX_COMA: - if (note) { - free (note); - note = NULL; - } + mh_xfree(note); + note = NULL; goto again; case LX_END: @@ -401,6 +392,7 @@ again: ; strcpy (err, "extraneous semi-colon"); return NOTOK; } + /* FALLTHRU */ case LX_COMA: case LX_END: return OK; @@ -633,6 +625,7 @@ my_lex (char *buffer) continue; case '(': i++; + /* FALLTHRU */ default: ADDCHR(c); continue; @@ -660,6 +653,7 @@ my_lex (char *buffer) cp = NULL; return (last_lex = LX_ERR); } + /* FALLTHRU */ default: ADDCHR(c); continue; @@ -683,6 +677,7 @@ my_lex (char *buffer) cp = NULL; return (last_lex = LX_ERR); } + /* FALLTHRU */ default: ADDCHR(c); continue; @@ -791,7 +786,8 @@ mfgets (FILE *in, char **bp) case '\t': *cp++ = '\n'; break; - } /* fall into default case */ + } + /* FALLTHRU */ default: *cp++ = i;