aboutsummaryrefslogtreecommitdiff
path: root/src/userdb.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-04-03 12:15:44 -0400
committerFranklin Wei <git@fwei.tk>2016-04-03 12:15:44 -0400
commit724f4ee59b0af7b64a3317af3c9ee5d3f45e9fc4 (patch)
tree9e1f93726995bfd2d8e2e355f7ca3d0869be037f /src/userdb.c
parent73c9244faee21a65e2143cc52dcbcf5cfe0648c6 (diff)
downloadnetcosm-724f4ee59b0af7b64a3317af3c9ee5d3f45e9fc4.zip
netcosm-724f4ee59b0af7b64a3317af3c9ee5d3f45e9fc4.tar.gz
netcosm-724f4ee59b0af7b64a3317af3c9ee5d3f45e9fc4.tar.bz2
netcosm-724f4ee59b0af7b64a3317af3c9ee5d3f45e9fc4.tar.xz
various fixes
Diffstat (limited to 'src/userdb.c')
-rw-r--r--src/userdb.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/userdb.c b/src/userdb.c
index 0a13319..0ebe159 100644
--- a/src/userdb.c
+++ b/src/userdb.c
@@ -110,8 +110,6 @@ void userdb_init(const char *file)
bool userdb_write(const char *file)
{
- debugf("Writing userdb...\n");
-
int fd = open(file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if(fd < 0)
return false;
@@ -154,7 +152,6 @@ bool userdb_write(const char *file)
struct object_t *obj = iter->val;
if(!strcmp(iter->key, obj->name))
{
- debugf("Writing an object to disk...\n");
obj_write(fd, iter->val);
}
iter = iter->next;
@@ -164,8 +161,6 @@ bool userdb_write(const char *file)
}
close(fd);
- debugf("Done writing userdb.\n");
-
return true;
}
@@ -178,7 +173,7 @@ bool userdb_remove(const char *key)
{
if(hash_remove(map, key))
{
- userdb_write(db_file);
+ server_save_state(false);
return true;
}
return false;
@@ -186,6 +181,8 @@ bool userdb_remove(const char *key)
bool userdb_add(struct userdata_t *data)
{
+ if(!data)
+ return false;
struct userdata_t *new = calloc(1, sizeof(*new)); /* only in C! */
memcpy(new, data, sizeof(*new));
@@ -206,7 +203,9 @@ bool userdb_add(struct userdata_t *data)
hash_overwrite(map, new->username, new);
- return userdb_write(db_file);
+ server_save_state(false);
+
+ return true;
}
void userdb_dump(void)