From 535311d1875a4302a1c42d92046d2cdc8d3ef4ef Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 17 Dec 2008 08:53:31 +0100 Subject: s3:dbwrap: add dbwrap_delete(), dbwrap_store() and dbwrap_fetch() The _bystring function are now just tiny wrappers. metze --- source3/include/dbwrap.h | 5 +++++ source3/lib/dbwrap.c | 34 ++++++++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/source3/include/dbwrap.h b/source3/include/dbwrap.h index 3312f9c1217..aad4ccd721e 100644 --- a/source3/include/dbwrap.h +++ b/source3/include/dbwrap.h @@ -83,6 +83,11 @@ struct db_context *db_open_file(TALLOC_CTX *mem_ctx, int open_flags, mode_t mode); +NTSTATUS dbwrap_delete(struct db_context *db, TDB_DATA key); +NTSTATUS dbwrap_store(struct db_context *db, TDB_DATA key, + TDB_DATA data, int flags); +TDB_DATA dbwrap_fetch(struct db_context *db, TALLOC_CTX *mem_ctx, + TDB_DATA key); NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key); NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, TDB_DATA data, int flags); diff --git a/source3/lib/dbwrap.c b/source3/lib/dbwrap.c index 73c2761a1b3..a57b7c97a5d 100644 --- a/source3/lib/dbwrap.c +++ b/source3/lib/dbwrap.c @@ -105,12 +105,12 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx, return result; } -NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) +NTSTATUS dbwrap_delete(struct db_context *db, TDB_DATA key) { struct db_record *rec; NTSTATUS status; - rec = db->fetch_locked(db, talloc_tos(), string_term_tdb_data(key)); + rec = db->fetch_locked(db, talloc_tos(), key); if (rec == NULL) { return NT_STATUS_NO_MEMORY; } @@ -119,13 +119,13 @@ NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) return status; } -NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, - TDB_DATA data, int flags) +NTSTATUS dbwrap_store(struct db_context *db, TDB_DATA key, + TDB_DATA data, int flags) { struct db_record *rec; NTSTATUS status; - rec = db->fetch_locked(db, talloc_tos(), string_term_tdb_data(key)); + rec = db->fetch_locked(db, talloc_tos(), key); if (rec == NULL) { return NT_STATUS_NO_MEMORY; } @@ -135,14 +135,32 @@ NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, return status; } -TDB_DATA dbwrap_fetch_bystring(struct db_context *db, TALLOC_CTX *mem_ctx, - const char *key) +TDB_DATA dbwrap_fetch(struct db_context *db, TALLOC_CTX *mem_ctx, + TDB_DATA key) { TDB_DATA result; - if (db->fetch(db, mem_ctx, string_term_tdb_data(key), &result) == -1) { + if (db->fetch(db, mem_ctx, key, &result) == -1) { return make_tdb_data(NULL, 0); } return result; } + +NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) +{ + return dbwrap_delete(db, string_term_tdb_data(key)); +} + +NTSTATUS dbwrap_store_bystring(struct db_context *db, const char *key, + TDB_DATA data, int flags) +{ + return dbwrap_store(db, string_term_tdb_data(key), data, flags); +} + +TDB_DATA dbwrap_fetch_bystring(struct db_context *db, TALLOC_CTX *mem_ctx, + const char *key) +{ + return dbwrap_fetch(db, mem_ctx, string_term_tdb_data(key)); +} + -- cgit