/* -*-c-*-
*
- * $Id: name.c,v 1.5 1997/09/17 10:26:11 mdw Exp $
+ * $Id: name.c,v 1.10 2004/04/08 01:36:20 mdw Exp $
*
* Looking up of names in symbol tables
*
- * (c) 1997 EBI
+ * (c) 1998 EBI
*/
/*----- Licensing notice --------------------------------------------------*
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: name.c,v $
- * 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"
#include "class.h"
#include "name.h"
#include "netg.h"
-#include "sym.h"
#include "userdb.h"
-#include "utils.h"
/*----- Static variables --------------------------------------------------*/
if ((pw = userdb_userByName(*p)) != 0)
n->c = class_addUser(n->c, pw->pw_uid);
}
+ if (!n->c)
+ n->c = class_none;
}
}
}
{
/* --- Initialise the name table --- */
- sym_createTable(&name__table);
+ sym_create(&name__table);
/* --- Add everyone into the table --- */
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);
}
/* --- Destroy and recreate the table --- */
- sym_destroyTable(&name__table);
+ sym_destroy(&name__table);
}
/* --- @name_find@ --- *
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
}
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);
}