-static int
-addgroup (struct aka *ak, char *grp)
-{
- register char *gp;
- register struct group *gr = getgrnam (grp);
- register struct home *hm = NULL;
-
- if (!gr)
- gr = getgrgid (atoi (grp));
- if (!gr) {
- akerrst = 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;
-}
-
-
-static int
-addmember (struct aka *ak, char *grp)
-{
- gid_t gid;
- register struct group *gr = getgrnam (grp);
- register struct home *hm = NULL;
-
- if (gr)
- gid = gr->gr_gid;
- else {
- gid = atoi (grp);
- gr = getgrgid (gid);
- }
- if (!gr) {
- akerrst = grp;
- return 0;
- }
-
-#ifndef DBMPWD
- if (homehead == NULL)
-#endif /* DBMPWD */
- init_pw ();
-
- for (hm = homehead; hm; hm = hm->h_next)
- if (hm->h_gid == gid)
- add_aka (ak, hm->h_name);
-
- return 1;
-}
-
-
-static int
-addall (struct aka *ak)
-{
- int noshell = NoShell == NULL || *NoShell == 0;
- register struct home *hm;
-
-#ifndef DBMPWD
- if (homehead == NULL)
-#endif /* DBMPWD */
- init_pw ();
- if (Everyone < 0)
- Everyone = EVERYONE;
-
- for (hm = homehead; hm; hm = hm->h_next)
- if (hm->h_uid > Everyone
- && (noshell || strcmp (hm->h_shell, NoShell)))
- add_aka (ak, hm->h_name);
-
- return homehead != NULL;
-}
-
-