Renamed -version switch to -Version to remove the conflict with -verbose.
[mmh] / uip / aliasbr.c
index baeab6f..8b32826 100644 (file)
@@ -31,7 +31,7 @@ char *akresult(struct aka *);
 char *akvalue(char *);
 char *akerror(int);
 
-static  char *akval(struct aka *, char *);
+static char *akval(struct aka *, char *);
 static int aleq(char *, char *);
 static char *scanp(unsigned char *);
 static char *getp(char *);
@@ -281,7 +281,7 @@ scanp(unsigned char *p)
 static char *
 getp(char *p)
 {
-       register unsigned char  *cp = scanp(p);
+       register unsigned char *cp = scanp(p);
 
        p = cp;
        while (!isspace(*cp) && *cp)
@@ -343,28 +343,19 @@ 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)==0) {
                                add_aka(ak, hm->h_name);
                                break;
                        }
-#ifdef DBMPWD
                if ((pw = getpwnam(gp))) {
                        hmalloc(pw);
                        add_aka(ak, gp);
                }
        }
-#endif /* DBMPWD */
 
        return 1;
 }
@@ -388,10 +379,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)
@@ -456,28 +444,21 @@ add_aka(struct aka *ak, char *pp)
 void
 init_pw(void)
 {
-       register struct passwd  *pw;
-#ifdef DBMPWD
-       static int init;
+       register struct passwd *pw;
+       static int init = 0;
 
        if (!init) {
-               /* if the list has yet to be initialized */
-               /* zap the list, and rebuild from scratch */
-               homehead=NULL;
-               hometail=NULL;
-               init++;
-#endif /* DBMPWD */
-
+               /* read the passwd database and build a list */
                setpwent();
-
-               while ((pw = getpwent()))
-                       if (!hmalloc(pw))
+               while ((pw = getpwent())) {
+                       if (!hmalloc(pw)) {
                                break;
-
+                       }
+               }
                endpwent();
-#ifdef DBMPWD
+
+               init++;  /* now we're initialized */
        }
-#endif /* DBMPWD */
 }
 
 
@@ -531,27 +512,20 @@ 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);
+       for (c = name, c1 = lname; *c && (c1 - lname < (int)sizeof(lname) - 1);
                        c++, c1++) {
                if (isalpha(*c) && isupper(*c))
                        *c1 = tolower(*c);
@@ -561,7 +535,6 @@ seek_home(char *name)
        *c1 = '\0';
        if ((pw = getpwnam(lname)))
                return(hmalloc(pw));
-#endif /* DBMPWD */
 
        return NULL;
 }