X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/3de39642e3207651b71d6090e5753d23258c778b..63621a81d16ab743de6b57d47578a9a2c670ad22:/uip/ali.c diff --git a/uip/ali.c b/uip/ali.c index 47b590da..43e9f5a7 100644 --- a/uip/ali.c +++ b/uip/ali.c @@ -1,6 +1,4 @@ - -/* - * ali.c -- list nmh mail aliases +/* ali.c -- list nmh mail aliases * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -38,15 +36,15 @@ extern struct aka *akahead; /* * prototypes */ -static void print_aka (char *, int, int); -static void print_usr (char *, int); +static void print_aka (char *, bool, int); +static void print_usr (char *, bool); int main (int argc, char **argv) { - int i, vecp = 0, inverted = 0, list = 0; - int noalias = 0; + int i, vecp = 0; + bool inverted, list, noalias; char *cp, **ap, **argp, buf[BUFSIZ]; /* Really only need to allocate for argc-1, but must allocate at least 1, so go ahead and allocate for argc char pointers. */ @@ -59,6 +57,7 @@ main (int argc, char **argv) arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; + inverted = list = noalias = false; while ((cp = *argp++)) { if (*cp == '-') { switch (smatch (++cp, switches)) { @@ -84,21 +83,21 @@ main (int argc, char **argv) adios (NULL, "aliasing error in %s - %s", cp, akerror (i)); continue; case NALIASW: - noalias++; + noalias = true; continue; case LISTSW: - list++; + list = true; continue; case NLISTSW: - list = 0; + list = false; continue; case USERSW: - inverted++; + inverted = true; continue; case NUSERSW: - inverted = 0; + inverted = false; continue; } } @@ -120,7 +119,7 @@ main (int argc, char **argv) for (ap = brkstring(dp = mh_xstrdup(cp), " ", "\n"); ap && *ap; ap++) if ((i = alias (*ap)) != AK_OK) adios (NULL, "aliasing error in %s - %s", *ap, akerror (i)); - mh_xfree(dp); + free(dp); } alias (AliasFile); } @@ -143,9 +142,13 @@ main (int argc, char **argv) } else { /* print them all */ for (ak = akahead; ak; ak = ak->ak_next) { + char *res; + printf ("%s: ", ak->ak_name); pos += strlen (ak->ak_name) + 1; - print_aka (akresult (ak), list, pos); + res = akresult(ak); + print_aka(res, list, pos); + free(res); } } } @@ -156,12 +159,12 @@ main (int argc, char **argv) } static void -print_aka (char *p, int list, int margin) +print_aka (char *p, bool list, int margin) { char c; if (p == NULL) { - printf ("\n"); + puts(""); return; } @@ -196,7 +199,7 @@ print_aka (char *p, int list, int margin) } static void -print_usr (char *s, int list) +print_usr (char *s, bool list) { char *cp, *pp, *vp; struct aka *ak; @@ -215,10 +218,10 @@ print_usr (char *s, int list) while ((cp = getname (pp))) { if ((np = getm (cp, NULL, 0, NULL, 0)) == NULL) continue; - if (!strcasecmp (mp->m_host ? mp->m_host : "", - np->m_host ? np->m_host : "") && - !strcasecmp (mp->m_mbox ? mp->m_mbox : "", - np->m_mbox ? np->m_mbox : "")) { + if (!strcasecmp (FENDNULL(mp->m_host), + FENDNULL(np->m_host)) && + !strcasecmp (FENDNULL(mp->m_mbox), + FENDNULL(np->m_mbox))) { vp = vp ? add (ak->ak_name, add (",", vp)) : getcpy (ak->ak_name); mnfree (np); @@ -233,5 +236,5 @@ print_usr (char *s, int list) print_aka (vp ? vp : s, list, 0); - mh_xfree(vp); + free(vp); }