Expunge revision histories in files.
[become] / src / name.c
index 94f1dd8..1ea34a0 100644 (file)
@@ -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
  *
  * 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 --- */
 #include <grp.h>
 #include <pwd.h>
 
+/* --- mLib headers --- */
+
+#include <mLib/alloc.h>
+#include <mLib/sym.h>
+
 /* --- 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:   <empty>");
+    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);
 }