s3: add function dbwrap_traverse
authorGregor Beck <gbeck@sernet.de>
Fri, 18 Mar 2011 13:39:15 +0000 (14:39 +0100)
committerMichael Adam <obnox@samba.org>
Mon, 4 Apr 2011 13:57:35 +0000 (15:57 +0200)
source3/include/dbwrap.h
source3/lib/dbwrap_util.c

index 3d4de279222794294558b1b7075bfd3a9b927113..ef35b0071d0b797d1c61064b878ede1d3aa0d3f3 100644 (file)
@@ -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);
index 6e5f14af333ed944c3c67d4100051c998dca56d5..35f8a14d0d487e7429271b025a987a5040029b3b 100644 (file)
@@ -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;
+}
+