/*
* prototypes
*/
-int alias (char *);
-int akvisible (void);
-char *akresult (struct aka *);
-char *akvalue (char *);
-char *akerror (int);
-
static char *akval (struct aka *, char *);
-static int aleq (char *, char *);
-static char *scanp (char *);
+static bool aleq (char *, char *) PURE;
+static char *scanp (char *) PURE;
static char *getp (char *);
static char *seekp (char *, char *, char **);
static int addfile (struct aka *, char *);
struct mailname *mp = getm (name, NULL, 0, NULL, 0);
if (mp && mp->m_ingrp) {
- char *gname = add (mp->m_gname, NULL);
+ char *gname = mh_xstrdup(FENDNULL(mp->m_gname));
/* FIXME: gname must be true; add() never returns NULL.
* Is some other test required? */
}
-static int
+static bool
aleq (char *string, char *aliasent)
{
char c;
while ((c = *string++)) {
if (*aliasent == '*')
- return 1;
+ return true;
if (tolower((unsigned char)c) != tolower((unsigned char)*aliasent))
- return 0;
+ return false;
aliasent++;
}
- return (*aliasent == 0 || *aliasent == '*');
+ return *aliasent == 0 || *aliasent == '*';
}
fclose (fp);
return i;
}
- /* FALLTHRU */
+ continue;
case ':': /* comment */
case ';':
case '#':
}
switch (lc) {
case ':':
- ak->ak_visible = 0;
+ ak->ak_visible = false;
break;
case ';':
- ak->ak_visible = 1;
+ ak->ak_visible = true;
break;
default:
if (cp == NULL)
cp = addrs;
- else
- if (*cp == 0)
- return (cp = NULL);
+ else if (*cp == 0)
+ return cp = NULL;
/* Remove leading any space from the address. */
for (pp = cp; isspace ((unsigned char) *pp); pp++)
continue;
if (*pp == 0)
- return (cp = NULL);
+ return cp = NULL;
/* Find the end of the address. */
for (qp = pp; *qp != 0 && *qp != ','; qp++)
continue;
NEW(p);
p->ak_name = getcpy (id);
- p->ak_visible = 0;
+ p->ak_visible = false;
p->ak_addr = NULL;
p->ak_next = NULL;
if (akatail != NULL)