X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb2%2Ftdb.c;h=2a37f13063a4f094162ce3cb6bcd919c342d782e;hp=09333a26801380fb232a2fc444eb11473de8805e;hb=6ce40d6ab4dbd63bd76979b8491351708c3df892;hpb=f367a1dc8573db0a1f6f49fcda474eb51c192241 diff --git a/ccan/tdb2/tdb.c b/ccan/tdb2/tdb.c index 09333a26..2a37f130 100644 --- a/ccan/tdb2/tdb.c +++ b/ccan/tdb2/tdb.c @@ -382,6 +382,11 @@ const char *tdb_errorstr(enum TDB_ERROR ecode) return "Invalid error code"; } +enum TDB_ERROR tdb_error(struct tdb_context *tdb) +{ + return tdb->last_error; +} + enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb, enum TDB_ERROR ecode, enum tdb_log_level level, @@ -393,7 +398,7 @@ enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb, /* tdb_open paths care about errno, so save it. */ int saved_errno = errno; - if (!tdb->logfn) + if (!tdb->log_fn) return ecode; va_start(ap, fmt); @@ -401,11 +406,11 @@ enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb, va_end(ap); if (len < 0) { - tdb->logfn(tdb, TDB_LOG_ERROR, tdb->log_private, - "out of memory formatting message:"); - tdb->logfn(tdb, level, tdb->log_private, fmt); + tdb->log_fn(tdb, TDB_LOG_ERROR, + "out of memory formatting message:", tdb->log_data); + tdb->log_fn(tdb, level, fmt, tdb->log_data); } else { - tdb->logfn(tdb, level, tdb->log_private, message); + tdb->log_fn(tdb, level, message, tdb->log_data); free(message); } errno = saved_errno; @@ -414,10 +419,10 @@ enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb, enum TDB_ERROR tdb_parse_record_(struct tdb_context *tdb, TDB_DATA key, - enum TDB_ERROR (*parse)(TDB_DATA key, - TDB_DATA data, - void *p), - void *p) + enum TDB_ERROR (*parse)(TDB_DATA k, + TDB_DATA d, + void *data), + void *data) { tdb_off_t off; struct tdb_used_record rec; @@ -438,9 +443,9 @@ enum TDB_ERROR tdb_parse_record_(struct tdb_context *tdb, if (TDB_PTR_IS_ERR(dptr)) { ecode = TDB_PTR_ERR(dptr); } else { - TDB_DATA data = tdb_mkdata(dptr, rec_data_length(&rec)); + TDB_DATA d = tdb_mkdata(dptr, rec_data_length(&rec)); - ecode = parse(key, data, p); + ecode = parse(key, d, data); tdb_access_release(tdb, dptr); } }