aboutsummaryrefslogtreecommitdiff
path: root/src/userdb.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-01-26 19:22:53 -0500
committerFranklin Wei <git@fwei.tk>2016-01-26 19:27:13 -0500
commit3b8df7146fe31518080f3a38eee98222d97ee5b2 (patch)
tree7fd7dffd98d0bfd3bdf20e24b184ec5440ca3909 /src/userdb.c
parentcbe6bc14de8ad8fd035e0598a3fcc23fb38cfa1a (diff)
downloadnetcosm-3b8df7146fe31518080f3a38eee98222d97ee5b2.zip
netcosm-3b8df7146fe31518080f3a38eee98222d97ee5b2.tar.gz
netcosm-3b8df7146fe31518080f3a38eee98222d97ee5b2.tar.bz2
netcosm-3b8df7146fe31518080f3a38eee98222d97ee5b2.tar.xz
fix a memory leak, bumps version to 0.4.0-rc1
Diffstat (limited to 'src/userdb.c')
-rw-r--r--src/userdb.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/userdb.c b/src/userdb.c
index 5e948ab..5c80581 100644
--- a/src/userdb.c
+++ b/src/userdb.c
@@ -30,8 +30,6 @@ static void free_userdata_and_objs(void *ptr)
{
struct userdata_t *data = ptr;
- debugf("Freeing DATA AND OBJECTS of %s\n", data->username);
-
if(data->objects)
{
hash_setfreedata_cb(data->objects, obj_free);
@@ -66,6 +64,8 @@ void userdb_init(const char *file)
/* 0 is a valid fd */
if(fd >= 0)
{
+ if(read_uint32(fd) != USERDB_MAGIC)
+ error("bad userdb magic value");
while(1)
{
struct userdata_t *data = calloc(1, sizeof(*data));
@@ -87,8 +87,6 @@ void userdb_init(const char *file)
hash_djb,
compare_strings);
- debugf("READING %d OBJECTS INTO INVENTORY\n", n_objects);
-
for(unsigned i = 0; i < n_objects; ++i)
{
struct object_t *obj = obj_read(fd);
@@ -105,6 +103,7 @@ void userdb_init(const char *file)
void userdb_write(const char *file)
{
int fd = open(file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
+ write_uint32(fd, USERDB_MAGIC);
void *save, *ptr = map;
while(1)
{
@@ -123,8 +122,6 @@ void userdb_write(const char *file)
write(fd, &n_objects, sizeof(n_objects));
- debugf("WRITING %d OBJECTS\n", n_objects);
-
/* write objects */
if(n_objects)