X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Faliasbr.c;h=baeab6f25e1d31e2b1ca87c910701427c94ea19d;hp=073b1b28960354082d822516a6e2432e2340887f;hb=5b92ee6942b9b466914f5faa5fa4c00a2ebc6d35;hpb=f61367c1118de22149e1ddff4a2c2c2437d758f0 diff --git a/uip/aliasbr.c b/uip/aliasbr.c index 073b1b2..baeab6f 100644 --- a/uip/aliasbr.c +++ b/uip/aliasbr.c @@ -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;