/*
* Sherlock Library -- Fast Database Management Routines
*
- * (c) 1999--2000 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ * (c) 1999--2000 Martin Mares <mj@ucw.cz>
*/
/*
* and we assume it's sorted.
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <unistd.h>
-
#include "lib/lib.h"
#include "lib/lfs.h"
#include "lib/pagecache.h"
#include "lib/db.h"
#include "lib/db_internal.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+
struct sdbm *
sdbm_open(struct sdbm_options *o)
{
struct sdbm_root root, *r;
uns cache_size = o->cache_size ? o->cache_size : 16;
- d = xmalloc(sizeof(struct sdbm));
- bzero(d, sizeof(*d));
+ d = xmalloc_zero(sizeof(struct sdbm));
d->flags = o->flags;
d->fd = sh_open(o->name, ((d->flags & SDBM_WRITE) ? O_RDWR : O_RDONLY), 0666);
if (d->fd >= 0) /* Already exists, let's check it */
pgc_close(d->cache);
if (d->fd >= 0)
close(d->fd);
- free(d);
+ xfree(d);
}
static uns