]> diplodocus.org Git - nmh/blobdiff - uip/aliasbr.c
Disable clang complaint about unused -ansi when linking by
[nmh] / uip / aliasbr.c
index d8350f9dfa6f55b74106461725d813c7bedb44b2..6600f741374247b7d6aacdb47c0c0260d39277b5 100644 (file)
@@ -35,7 +35,7 @@ char *akerror (int);
 
 static  char *akval (struct aka *, char *);
 static int aleq (char *, char *);
-static char *scanp (unsigned char *);
+static char *scanp (char *);
 static char *getp (char *);
 static char *seekp (char *, char *, char **);
 static int addfile (struct aka *, char *);
@@ -46,7 +46,6 @@ static char *getalias (char *);
 static void add_aka (struct aka *, char *);
 static struct aka *akalloc (char *);
 static struct home *hmalloc (struct passwd *);
-struct home *seek_home (char *);
 
 
 /* Do mh alias substitution on 's' and return the results. */
@@ -105,6 +104,12 @@ akval (struct aka *ak, char *s)
     if (!s)
        return s;                       /* XXX */
 
+    /* It'd be tempting to check for a trailing semicolon and remove
+       it.  But that would break the EXMH alias parser on what would
+       then be valid expressions:
+       http://lists.gnu.org/archive/html/nmh-workers/2012-10/msg00039.html
+     */
+
     for (; ak; ak = ak->ak_next) {
        if (aleq (s, ak->ak_name)) {
            return akresult (ak);
@@ -121,7 +126,7 @@ akval (struct aka *ak, char *s)
            if (name) {
                /* s is of the form "Blind list: address".  If address
                   is an alias, expand it. */
-               struct mailname *mp = getm (name, NULL, 0, AD_NAME, NULL);
+               struct mailname *mp = getm (name, NULL, 0, NULL, 0);
 
                if (mp  &&  mp->m_ingrp) {
                    char *gname = add (mp->m_gname, NULL);
@@ -314,9 +319,9 @@ akerror (int i)
 
 
 static char *
-scanp (unsigned char *p)
+scanp (char *p)
 {
-    while (isspace (*p))
+    while (isspace ((unsigned char) *p))
        p++;
     return p;
 }
@@ -325,10 +330,10 @@ scanp (unsigned char *p)
 static char *
 getp (char *p)
 {
-    register unsigned char  *cp = scanp (p);
+    char  *cp = scanp (p);
 
     p = cp;
-    while (!isspace (*cp) && *cp)
+    while (!isspace ((unsigned char) *cp) && *cp)
        cp++;
     *cp = 0;
 
@@ -339,10 +344,10 @@ getp (char *p)
 static char *
 seekp (char *p, char *c, char **a)
 {
-    register unsigned char *cp;
+    char *cp;
 
     p = cp = scanp (p);
-    while (!isspace (*cp) && *cp && *cp != ':' && *cp != ';')
+    while (!isspace ((unsigned char) *cp) && *cp && *cp != ':' && *cp != ';')
        cp++;
     *c = *cp;
     *cp++ = 0;
@@ -457,7 +462,7 @@ addall (struct aka *ak)
 static char *
 getalias (char *addrs)
 {
-    register unsigned char *pp, *qp;
+    char *pp, *qp;
     static char *cp = NULL;
 
     if (cp == NULL)
@@ -467,7 +472,7 @@ getalias (char *addrs)
            return (cp = NULL);
 
     /* Remove leading any space from the address. */
-    for (pp = cp; isspace (*pp); pp++)
+    for (pp = cp; isspace ((unsigned char) *pp); pp++)
        continue;
     if (*pp == 0)
        return (cp = NULL);
@@ -479,7 +484,7 @@ getalias (char *addrs)
        *qp++ = 0;
     for (cp = qp, qp--; qp > pp; qp--)
        if (*qp != 0) {
-           if (isspace (*qp))
+           if (isspace ((unsigned char) *qp))
                *qp = 0;
            else
                break;
@@ -577,36 +582,3 @@ hmalloc (struct passwd *pw)
 
     return p;
 }
-
-
-struct home *
-seek_home (char *name)
-{
-    register struct home *hp;
-    struct passwd *pw;
-    char lname[32];
-    unsigned char *c;
-    char *c1;
-
-    for (hp = homehead; hp; hp = hp->h_next)
-       if (!mh_strcasecmp (name, hp->h_name))
-           return hp;
-
-    /*
-     * The only place where there might be problems.
-     * This assumes that ALL usernames are kept in lowercase.
-     */
-    for (c = name, c1 = lname;
-         *c && (c1 - lname < (int) sizeof(lname) - 1);
-         c++, c1++) {
-        if (isalpha(*c) && isupper(*c))
-           *c1 = tolower (*c);
-       else
-           *c1 = *c;
-    }
-    *c1 = '\0';
-    if ((pw = getpwnam(lname)))
-       return(hmalloc(pw));
-
-    return NULL;
-}