From 340f20ddb01da08b6a6ad11143768ffd69b7944e Mon Sep 17 00:00:00 2001 From: Gregor Beck Date: Fri, 18 Mar 2011 14:39:15 +0100 Subject: [PATCH] s3: add function dbwrap_traverse --- source3/include/dbwrap.h | 4 ++++ source3/lib/dbwrap_util.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/source3/include/dbwrap.h b/source3/include/dbwrap.h index 3d4de279222..ef35b0071d0 100644 --- a/source3/include/dbwrap.h +++ b/source3/include/dbwrap.h @@ -130,6 +130,10 @@ NTSTATUS dbwrap_trans_do(struct db_context *db, NTSTATUS dbwrap_trans_traverse(struct db_context *db, int (*f)(struct db_record*, void*), void *private_data); +NTSTATUS dbwrap_traverse(struct db_context *db, + int (*f)(struct db_record*, void*), + void *private_data); + NTSTATUS dbwrap_delete_bystring_upper(struct db_context *db, const char *key); NTSTATUS dbwrap_store_bystring_upper(struct db_context *db, const char *key, TDB_DATA data, int flags); diff --git a/source3/lib/dbwrap_util.c b/source3/lib/dbwrap_util.c index 6e5f14af333..35f8a14d0d4 100644 --- a/source3/lib/dbwrap_util.c +++ b/source3/lib/dbwrap_util.c @@ -443,6 +443,14 @@ NTSTATUS dbwrap_trans_traverse(struct db_context *db, return dbwrap_trans_do(db, dbwrap_trans_traverse_action, &ctx); } +NTSTATUS dbwrap_traverse(struct db_context *db, + int (*f)(struct db_record*, void*), + void *private_data) +{ + int ret = db->traverse(db, f, private_data); + return (ret == -1) ? NT_STATUS_INTERNAL_DB_CORRUPTION : NT_STATUS_OK; +} + -- 2.34.1