ref: e3bb18d0464ea795f1805186cc68d4e7a9eedbdc
dir: /users.c/
#include <u.h>
#include <libc.h>
#include "dat.h"
#include "fns.h"
static Userlist users;
User*
adduser(char *name)
{
User *n;
n = mallocz(sizeof(User), 1);
n->name = strdup(name);
if (!users.first) {
users.first = n;
return n;
}
n->next = users.first;
users.first->prev = n;
users.first = n;
return n;
}
void
deluser(User *user)
{
if (!user->prev) {
users.first = user->next;
if (user->next)
user->next->prev = nil;
} else {
user->prev->next = user->next;
if (user->next)
user->next->prev = user->prev;
}
free(user->name);
free(user);
}
User*
finduser(char *name)
{
for (User *u = users.first; u; u = u->next) {
if (strcmp(name, u->name) == 0)
return u;
}
return nil;
}