X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Fopen.c;h=56514ae533a4c925635e5df350ad690bff34710d;hp=9aaa218a29c03153e26db7c774a81389bac2c3aa;hb=156e5eb92f1d986957cb081b58320579c6e366dd;hpb=f6067e4cbd7b7415571f12438aec00faec5657fb diff --git a/ccan/tdb2/open.c b/ccan/tdb2/open.c index 9aaa218a..56514ae5 100644 --- a/ccan/tdb2/open.c +++ b/ccan/tdb2/open.c @@ -101,10 +101,10 @@ static enum TDB_ERROR tdb_new_database(struct tdb_context *tdb, else newdb.hdr.hash_seed = random_number(tdb); newdb.hdr.hash_test = TDB_HASH_MAGIC; - newdb.hdr.hash_test = tdb->khash(&newdb.hdr.hash_test, - sizeof(newdb.hdr.hash_test), - newdb.hdr.hash_seed, - tdb->hash_priv); + newdb.hdr.hash_test = tdb->hash_fn(&newdb.hdr.hash_test, + sizeof(newdb.hdr.hash_test), + newdb.hdr.hash_seed, + tdb->hash_data); newdb.hdr.recovery = 0; newdb.hdr.features_used = newdb.hdr.features_offered = TDB_FEATURE_MASK; newdb.hdr.seqnum = 0; @@ -205,7 +205,7 @@ struct tdb_context *tdb_open(const char *name, int tdb_flags, tdb->name = NULL; tdb->direct_access = 0; tdb->flags = tdb_flags; - tdb->logfn = NULL; + tdb->log_fn = NULL; tdb->transaction = NULL; tdb->stats = NULL; tdb->access = NULL; @@ -217,12 +217,12 @@ struct tdb_context *tdb_open(const char *name, int tdb_flags, while (attr) { switch (attr->base.attr) { case TDB_ATTRIBUTE_LOG: - tdb->logfn = attr->log.log_fn; - tdb->log_private = attr->log.log_private; + tdb->log_fn = attr->log.fn; + tdb->log_data = attr->log.data; break; case TDB_ATTRIBUTE_HASH: - tdb->khash = attr->hash.hash_fn; - tdb->hash_priv = attr->hash.hash_private; + tdb->hash_fn = attr->hash.fn; + tdb->hash_data = attr->hash.data; break; case TDB_ATTRIBUTE_SEED: seed = &attr->seed; @@ -454,9 +454,9 @@ fail_errno: #ifdef TDB_TRACE close(tdb->tracefd); #endif - free((char *)tdb->name); + free(cast_const(char *, tdb->name)); if (tdb->file) { - tdb_unlock_all(tdb); + tdb_lock_cleanup(tdb); if (--tdb->file->refcnt == 0) { assert(tdb->file->num_lockrecs == 0); if (tdb->file->map_ptr) { @@ -495,11 +495,11 @@ int tdb_close(struct tdb_context *tdb) else tdb_munmap(tdb->file); } - free((char *)tdb->name); + free(cast_const(char *, tdb->name)); if (tdb->file) { struct tdb_file **i; - tdb_unlock_all(tdb); + tdb_lock_cleanup(tdb); if (--tdb->file->refcnt == 0) { ret = close(tdb->file->fd);