X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Faliasbr.c;h=b2e51f560cfbda2dc4241af104264f294442c5f2;hb=b3bc649e0562c9aa68acdf7fb5c8c03335cafb25;hp=b1a7e619cd0e0a2c9be06d49e6a2d7e4fc9a75fd;hpb=5dd6771b28c257af405d7248639ed0e3bcdce38b;p=mmh diff --git a/uip/aliasbr.c b/uip/aliasbr.c index b1a7e61..b2e51f5 100644 --- a/uip/aliasbr.c +++ b/uip/aliasbr.c @@ -350,29 +350,20 @@ addgroup (struct aka *ak, char *grp) return 0; } -#ifndef DBMPWD - if (homehead == NULL) - init_pw (); -#endif /* DBMPWD */ - while ((gp = *gr->gr_mem++)) -#ifdef DBMPWD { struct passwd *pw; -#endif /* DBMPWD */ for (hm = homehead; hm; hm = hm->h_next) if (!strcmp (hm->h_name, gp)) { add_aka (ak, hm->h_name); break; } -#ifdef DBMPWD if ((pw = getpwnam(gp))) { hmalloc(pw); add_aka (ak, gp); } } -#endif /* DBMPWD */ return 1; } @@ -396,10 +387,7 @@ addmember (struct aka *ak, char *grp) return 0; } -#ifndef DBMPWD - if (homehead == NULL) -#endif /* DBMPWD */ - init_pw (); + init_pw (); for (hm = homehead; hm; hm = hm->h_next) if (hm->h_gid == gid) @@ -415,15 +403,13 @@ addall (struct aka *ak) int noshell = NoShell == NULL || *NoShell == 0; register struct home *hm; -#ifndef DBMPWD - if (homehead == NULL) -#endif /* DBMPWD */ - init_pw (); + init_pw (); + if (Everyone < 0) Everyone = EVERYONE; for (hm = homehead; hm; hm = hm->h_next) - if (hm->h_uid > Everyone + if ((int) hm->h_uid > Everyone && (noshell || strcmp (hm->h_shell, NoShell))) add_aka (ak, hm->h_name); @@ -487,28 +473,24 @@ void init_pw (void) { register struct passwd *pw; -#ifdef DBMPWD static int init; if (!init) { - /* if the list has yet to be initialized */ - /* zap the list, and rebuild from scratch */ - homehead=NULL; - hometail=NULL; - init++; -#endif /* DBMPWD */ + /* if the list has yet to be initialized */ + /* zap the list, and rebuild from scratch */ + homehead=NULL; + hometail=NULL; + init++; - setpwent (); + setpwent (); - while ((pw = getpwent ())) - if (!hmalloc (pw)) - break; + while ((pw = getpwent ())) + if (!hmalloc (pw)) + break; - endpwent (); -#ifdef DBMPWD + endpwent (); } -#endif /* DBMPWD */ } @@ -561,27 +543,22 @@ struct home * seek_home (char *name) { register struct home *hp; -#ifdef DBMPWD struct passwd *pw; char lname[32]; unsigned char *c; char *c1; -#else /* DBMPWD */ - - if (homehead == NULL) - init_pw (); -#endif /* DBMPWD */ for (hp = homehead; hp; hp = hp->h_next) if (!mh_strcasecmp (name, hp->h_name)) return hp; -#ifdef DBMPWD /* * 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 < sizeof(lname) - 1); c++, c1++) { + for (c = name, c1 = lname; + *c && (c1 - lname < (int) sizeof(lname) - 1); + c++, c1++) { if (isalpha(*c) && isupper(*c)) *c1 = tolower (*c); else @@ -590,7 +567,6 @@ seek_home (char *name) *c1 = '\0'; if ((pw = getpwnam(lname))) return(hmalloc(pw)); -#endif /* DBMPWD */ - + return NULL; }