-
-void _old_endnetgrent(void);
-void _old_setnetgrent(char *);
-
-void _old_setnetgrent(grp)
- char *grp;
-{
-
- if (oldgrp == NULL)
- oldgrp = (char *)calloc(1,256);
- if (oldgrp == NULL) return;
- if (strcmp(oldgrp, grp) == 0)
- grlist = grouplist;
- else {
- if (grouplist != NULL)
- _old_endnetgrent();
- doit(grp, (struct list *) NULL);
- grlist = grouplist;
- (void) strcpy(oldgrp, grp);
- }
-}
-
-void _old_endnetgrent()
-{
- register struct grouplist *gl;
-
- for (gl = grouplist; gl != NULL; gl = gl->gl_nxt) {
- if (gl->gl_name)
- free(gl->gl_name);
- if (gl->gl_domain)
- free(gl->gl_domain);
- if (gl->gl_machine)
- free(gl->gl_machine);
- free((char *) gl);
- }
- grouplist = NULL;
- grlist = NULL;
- if (oldgrp) {
- free(oldgrp);
- oldgrp = 0;
- }
-}
-
-int _old_getnetgrent(machinep, namep, domainp)
- char **machinep, **namep, **domainp;
-{
-
- if (grlist == 0)
- return (0);
- *machinep = grlist->gl_machine;
- *namep = grlist->gl_name;
- *domainp = grlist->gl_domain;
- grlist = grlist->gl_nxt;
- return (1);
-}
-