ref: eaf9a2c0694335ea7d5139f83b3824f6127fb310
dir: /users.c/
#include <u.h> #include <libc.h> #include "dat.h" #include "fns.h" #include "ll.h" static Linked *users; User* adduser(char *name) { User *n; n = mallocz(sizeof(User), 1); n->name = strdup(name); ladd(&users, n); return n; } static void freeuser(void *u) { User *user = u; free(user->name); free(user); } void deluser(User *user) { ldel(&users, user, freeuser); } static int finduserfunc(void *ptr, void *c) { User *user = ptr; char *name = c; return strcmp(user->name, name) == 0; } User* finduser(char *name) { return lfind(&users, finduserfunc, name); }