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 3d4de27..ef35b00 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 6e5f14a..35f8a14 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;
+}
+