int
isfrom(const char *string)
{
- return (strncmp (string, "From ", 5) == 0
- || strncmp (string, ">From ", 6) == 0);
+ return (HasPrefix(string, "From ")
+ || HasPrefix(string, ">From "));
}
int
lequal (const char *a, const char *b)
{
- for (; *a; a++, b++)
+ char c1, c2;
+
+ for (; *a; a++, b++) {
if (*b == 0)
return FALSE;
- else {
- char c1 = islower ((unsigned char) *a) ?
- toupper ((unsigned char) *a) : *a;
- char c2 = islower ((unsigned char) *b) ?
- toupper ((unsigned char) *b) : *b;
- if (c1 != c2)
- return FALSE;
- }
+ c1 = toupper((unsigned char)*a);
+ c2 = toupper((unsigned char)*b);
+ if (c1 != c2)
+ return FALSE;
+ }
return (*b == 0);
}
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 ");
}
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;
return NOTOK;
}
case LX_COMA:
- if (note) {
- free (note);
- note = NULL;
- }
+ mh_xfree(note);
+ note = NULL;
goto again;
case LX_END: