X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/c758e6541ca05409b178dd9629e9337494c49890..af4f4d6a77aceba8e2d6f58d15e894df320e7c24:/src/name.c diff --git a/src/name.c b/src/name.c index 94f1dd8..1ea34a0 100644 --- a/src/name.c +++ b/src/name.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: name.c,v 1.6 1998/01/12 16:46:14 mdw Exp $ + * $Id: name.c,v 1.10 2004/04/08 01:36:20 mdw Exp $ * * Looking up of names in symbol tables * @@ -26,30 +26,6 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: name.c,v $ - * Revision 1.6 1998/01/12 16:46:14 mdw - * Fix copyright date. - * - * Revision 1.5 1997/09/17 10:26:11 mdw - * Use rewritten class handler. Support `none' class. - * - * Revision 1.4 1997/08/20 16:17:59 mdw - * Replace `name_reinit' by `name_end' for more sensible restart. - * - * Revision 1.3 1997/08/07 09:49:39 mdw - * Extensive modifications to handle netgroups. Also sanitise user and group - * names before adding them to the symbol table. - * - * Revision 1.2 1997/08/04 10:24:24 mdw - * Sources placed under CVS control. - * - * Revision 1.1 1997/07/21 13:47:46 mdw - * Initial revision - * - */ - /*----- Header files ------------------------------------------------------*/ /* --- ANSI headers --- */ @@ -72,6 +48,11 @@ #include #include +/* --- mLib headers --- */ + +#include +#include + /* --- Local headers --- */ #include "config.h" @@ -80,9 +61,7 @@ #include "class.h" #include "name.h" #include "netg.h" -#include "sym.h" #include "userdb.h" -#include "utils.h" /*----- Static variables --------------------------------------------------*/ @@ -205,6 +184,8 @@ static void name__groups(void) if ((pw = userdb_userByName(*p)) != 0) n->c = class_addUser(n->c, pw->pw_uid); } + if (!n->c) + n->c = class_none; } } } @@ -344,7 +325,7 @@ void name_init(void) { /* --- Initialise the name table --- */ - sym_createTable(&name__table); + sym_create(&name__table); /* --- Add everyone into the table --- */ @@ -391,7 +372,7 @@ void name_end(void) sym_iter i; name *n; - for (sym_createIter(&i, &name__table); (n = sym_next(&i)) != 0; ) { + for (sym_mkiter(&i, &name__table); (n = sym_next(&i)) != 0; ) { if (n->c) class_dec(n->c); } @@ -399,7 +380,7 @@ void name_end(void) /* --- Destroy and recreate the table --- */ - sym_destroyTable(&name__table); + sym_destroy(&name__table); } /* --- @name_find@ --- * @@ -439,9 +420,12 @@ void name_dump(void) name *n; trace(TRACE_DEBUG, "name: dumping names"); - for (sym_createIter(&i, &name__table); (n = sym_next(&i)) != 0; ) { + for (sym_mkiter(&i, &name__table); (n = sym_next(&i)) != 0; ) { trace(TRACE_DEBUG, "name: dumping `%s'", n->base.name); - class_dump(n->c, 1); + if (!n->c) + trace(TRACE_DEBUG, "name: "); + else + class_dump(n->c, 1); } #endif } @@ -453,28 +437,32 @@ void name_dump(void) int main(void) { ego("name-test"); - /* traceon(stdout, TRACE_ALL); */ + trace_on(stdout, TRACE_ALL); userdb_init(); userdb_local(); userdb_yp(); netg_init(); name_init(); - printf("loaded (%lu)\n", track_memused()); + /* printf("loaded (%lu)\n", track_memused()); */ +#ifdef notdef getchar(); for (;;) { name_end(); netg_end(); userdb_end(); - printf("cleared (%lu)\n", track_memused()); - track_memlist(); + /* printf("cleared (%lu)\n", track_memused()); */ + /* track_memlist(); */ userdb_init(); userdb_local(); userdb_yp(); netg_init(); name_init(); - printf("reloaded (%lu)\n", track_memused()); + /* printf("reloaded (%lu)\n", track_memused()); */ getchar(); } +#else + name_dump(); +#endif return (0); }