diff options
| author | Franklin Wei <git@fwei.tk> | 2016-01-26 19:22:53 -0500 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2016-01-26 19:27:13 -0500 |
| commit | 3b8df7146fe31518080f3a38eee98222d97ee5b2 (patch) | |
| tree | 7fd7dffd98d0bfd3bdf20e24b184ec5440ca3909 /src/userdb.c | |
| parent | cbe6bc14de8ad8fd035e0598a3fcc23fb38cfa1a (diff) | |
| download | netcosm-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.c | 9 |
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) |