X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/cec6ee584ab027c7c536fb0bb62e768b40a4e94c..cf57870921b26703aad420c6741c524b33736ff1:/sbr/mf.c diff --git a/sbr/mf.c b/sbr/mf.c index 9e5cad8c..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 ")); } @@ -39,10 +39,8 @@ lequal (const char *a, const char *b) for (; *a; a++, b++) { if (*b == 0) return FALSE; - c1 = islower ((unsigned char) *a) ? - toupper ((unsigned char) *a) : *a; - c2 = islower ((unsigned char) *b) ? - toupper ((unsigned char) *b) : *b; + c1 = toupper((unsigned char)*a); + c2 = toupper((unsigned char)*b); if (c1 != c2) return FALSE; } @@ -54,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 "); } @@ -182,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; @@ -298,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: @@ -403,6 +392,7 @@ again: ; strcpy (err, "extraneous semi-colon"); return NOTOK; } + /* FALLTHRU */ case LX_COMA: case LX_END: return OK; @@ -635,6 +625,7 @@ my_lex (char *buffer) continue; case '(': i++; + /* FALLTHRU */ default: ADDCHR(c); continue; @@ -662,6 +653,7 @@ my_lex (char *buffer) cp = NULL; return (last_lex = LX_ERR); } + /* FALLTHRU */ default: ADDCHR(c); continue; @@ -685,6 +677,7 @@ my_lex (char *buffer) cp = NULL; return (last_lex = LX_ERR); } + /* FALLTHRU */ default: ADDCHR(c); continue; @@ -793,7 +786,8 @@ mfgets (FILE *in, char **bp) case '\t': *cp++ = '\n'; break; - } /* fall into default case */ + } + /* FALLTHRU */ default: *cp++ = i;