X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/cec6ee584ab027c7c536fb0bb62e768b40a4e94c..3ab1e9323e964d5377952a2b666ce91bab39c45a:/sbr/mf.c diff --git a/sbr/mf.c b/sbr/mf.c index 9e5cad8c..870a0a52 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 (HasPrefix(string, "From ") + || HasPrefix(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 HasPrefix(p, " AT ") || HasPrefix(p, " At ") || + HasPrefix(p, " aT ") || HasPrefix(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; @@ -299,10 +289,8 @@ again: ; return NOTOK; } case LX_COMA: - if (note) { - free (note); - note = NULL; - } + mh_xfree(note); + note = NULL; goto again; case LX_END: