Minor refactoring.
[mmh] / uip / aliasbr.c
index 073b1b2..baeab6f 100644 (file)
@@ -360,8 +360,8 @@ addgroup(struct aka *ak, char *grp)
                        }
 #ifdef DBMPWD
                if ((pw = getpwnam(gp))) {
-                               hmalloc(pw);
-                               add_aka(ak, gp);
+                       hmalloc(pw);
+                       add_aka(ak, gp);
                }
        }
 #endif /* DBMPWD */
@@ -444,7 +444,7 @@ add_aka(struct aka *ak, char *pp)
 
        ad = (struct adr *) mh_xmalloc(sizeof(*ad));
        ad->ad_text = getcpy(pp);
-       ad->ad_local = strchr(pp, '@') == NULL && strchr(pp, '!') == NULL;
+       ad->ad_local = strchr(pp, '@') == NULL;
        ad->ad_next = NULL;
        if (ak->ak_addr)
                ld->ad_next = ad;
@@ -516,10 +516,11 @@ hmalloc(struct passwd *pw)
        p->h_shell = getcpy(pw->pw_shell);
        p->h_ngrps = 0;
        p->h_next = NULL;
-       if (hometail != NULL)
-               hometail->h_next = p;
-       if (homehead == NULL)
+       /* append to end */
+       if (!homehead)
                homehead = p;
+       if (hometail)
+               hometail->h_next = p;
        hometail = p;
 
        return p;