]> diplodocus.org Git - nmh/blobdiff - uip/aliasbr.c
Alter HasSuffixC()'s char * to be const.
[nmh] / uip / aliasbr.c
index 6600f741374247b7d6aacdb47c0c0260d39277b5..c7ea3a33f02dc2b60e3fda722ae71c4e5a57aef0 100644 (file)
@@ -41,7 +41,6 @@ static char *seekp (char *, char *, char **);
 static int addfile (struct aka *, char *);
 static int addgroup (struct aka *, char *);
 static int addmember (struct aka *, char *);
-static int addall (struct aka *);
 static char *getalias (char *);
 static void add_aka (struct aka *, char *);
 static struct aka *akalloc (char *);
@@ -52,7 +51,7 @@ static struct home *hmalloc (struct passwd *);
 char *
 akvalue (char *s)
 {
-    register char *v;
+    char *v;
 
     if (akahead == NULL)
        alias (AliasFile);
@@ -75,8 +74,8 @@ akvisible (void)
 char *
 akresult (struct aka *ak)
 {
-    register char *cp = NULL, *dp, *pp;
-    register struct adr *ad;
+    char *cp = NULL, *dp, *pp;
+    struct adr *ad;
 
     for (ad = ak->ak_addr; ad; ad = ad->ad_next) {
        pp = ad->ad_local ? akval (ak->ak_next, ad->ad_text)
@@ -113,7 +112,9 @@ akval (struct aka *ak, char *s)
     for (; ak; ak = ak->ak_next) {
        if (aleq (s, ak->ak_name)) {
            return akresult (ak);
-       } else if (strchr (s, ':')) {
+       }
+
+        if (strchr (s, ':')) {
            /* The first address in a blind list will contain the
               alias name, so try to match, but just with just the
               address (not including the list name).  If there's a
@@ -150,23 +151,22 @@ akval (struct aka *ak, char *s)
        }
     }
 
-    return getcpy (s);
+    return mh_xstrdup(s);
 }
 
 
 static int
 aleq (char *string, char *aliasent)
 {
-    register char c;
+    char c;
 
-    while ((c = *string++))
+    while ((c = *string++)) {
        if (*aliasent == '*')
            return 1;
-       else
-           if ((c | 040) != (*aliasent | 040))
-               return 0;
-           else
-               aliasent++;
+        if ((c | 040) != (*aliasent | 040))
+            return 0;
+        aliasent++;
+    }
 
     return (*aliasent == 0 || *aliasent == '*');
 }
@@ -176,10 +176,10 @@ int
 alias (char *file)
 {
     int i;
-    register char *bp, *cp, *pp;
+    char *bp, *cp, *pp;
     char lc, *ap;
-    register struct aka *ak = NULL;
-    register FILE *fp;
+    struct aka *ak = NULL;
+    FILE *fp;
 
     if (*file != '/'
            && (strncmp (file, "./", 2) && strncmp (file, "../", 3)))
@@ -271,10 +271,6 @@ alias (char *file)
                }
                break;
 
-           case '*':           /* Everyone */
-               addall (ak);
-               break;
-
            default:            /* list */
                while ((cp = getalias (pp)))
                    add_aka (ak, cp);
@@ -360,9 +356,9 @@ seekp (char *p, char *c, char **a)
 static int
 addfile (struct aka *ak, char *file)
 {
-    register char *cp;
+    char *cp;
     char buffer[BUFSIZ];
-    register FILE *fp;
+    FILE *fp;
 
     if (!(fp = fopen (etcpath (file), "r"))) {
        akerrst = file;
@@ -381,9 +377,9 @@ addfile (struct aka *ak, char *file)
 static int
 addgroup (struct aka *ak, char *grp)
 {
-    register char *gp;
-    register struct group *gr = getgrnam (grp);
-    register struct home *hm = NULL;
+    char *gp;
+    struct group *gr = getgrnam (grp);
+    struct home *hm = NULL;
 
     if (!gr)
        gr = getgrgid (atoi (grp));
@@ -415,8 +411,8 @@ static int
 addmember (struct aka *ak, char *grp)
 {
     gid_t gid;
-    register struct group *gr = getgrnam (grp);
-    register struct home *hm = NULL;
+    struct group *gr = getgrnam (grp);
+    struct home *hm = NULL;
 
     if (gr)
        gid = gr->gr_gid;
@@ -439,26 +435,6 @@ addmember (struct aka *ak, char *grp)
 }
 
 
-static int
-addall (struct aka *ak)
-{
-    int noshell = NoShell == NULL || *NoShell == 0;
-    register struct home *hm;
-
-    init_pw ();
-
-    if (Everyone < 0)
-       Everyone = EVERYONE;
-
-    for (hm = homehead; hm; hm = hm->h_next)
-        if ((int) hm->h_uid > Everyone
-               && (noshell || strcmp (hm->h_shell, NoShell)))
-           add_aka (ak, hm->h_name);
-
-    return homehead != NULL;
-}
-
-
 static char *
 getalias (char *addrs)
 {
@@ -497,14 +473,14 @@ getalias (char *addrs)
 static void
 add_aka (struct aka *ak, char *pp)
 {
-    register struct adr *ad, *ld;
+    struct adr *ad, *ld;
 
     for (ad = ak->ak_addr, ld = NULL; ad; ld = ad, ad = ad->ad_next)
        if (!strcmp (pp, ad->ad_text))
            return;
 
-    ad = (struct adr *) mh_xmalloc (sizeof(*ad));
-    ad->ad_text = getcpy (pp);
+    NEW(ad);
+    ad->ad_text = mh_xstrdup(pp);
     ad->ad_local = strchr(pp, '@') == NULL && strchr(pp, '!') == NULL;
     ad->ad_next = NULL;
     if (ak->ak_addr)
@@ -517,7 +493,7 @@ add_aka (struct aka *ak, char *pp)
 void
 init_pw (void)
 {
-    register struct passwd  *pw;
+    struct passwd  *pw;
     static int init;
   
     if (!init)
@@ -542,10 +518,9 @@ init_pw (void)
 static struct aka *
 akalloc (char *id)
 {
-    register struct aka *p;
-
-    p = (struct aka *) mh_xmalloc (sizeof(*p));
+    struct aka *p;
 
+    NEW(p);
     p->ak_name = getcpy (id);
     p->ak_visible = 0;
     p->ak_addr = NULL;
@@ -563,10 +538,9 @@ akalloc (char *id)
 static struct home *
 hmalloc (struct passwd *pw)
 {
-    register struct home *p;
-
-    p = (struct home *) mh_xmalloc (sizeof(*p));
+    struct home *p;
 
+    NEW(p);
     p->h_name = getcpy (pw->pw_name);
     p->h_uid = pw->pw_uid;
     p->h_gid = pw->pw_gid;