s3:serverid: use dbwrap_traverse() in serverid_traverse()
authorMichael Adam <obnox@samba.org>
Wed, 17 Aug 2011 08:06:07 +0000 (10:06 +0200)
committerMichael Adam <obnox@samba.org>
Tue, 11 Oct 2011 12:17:56 +0000 (14:17 +0200)
This also fixes the return value: Originally, the int returned
by the traverse method, which is the count of the traverse was
casted into a bool return value.

source3/lib/serverid.c

index 7e56301bf2ba34d87b92d037c08905d8601b8f89..ee8ab32c5083fe250db5ec600a5b1b2db5f3c808 100644 (file)
@@ -350,6 +350,7 @@ bool serverid_traverse(int (*fn)(struct db_record *rec,
 {
        struct db_context *db;
        struct serverid_traverse_state state;
+       NTSTATUS status;
 
        db = serverid_db();
        if (db == NULL) {
@@ -357,5 +358,7 @@ bool serverid_traverse(int (*fn)(struct db_record *rec,
        }
        state.fn = fn;
        state.private_data = private_data;
-       return db->traverse(db, serverid_traverse_fn, &state);
+
+       status = dbwrap_traverse(db, serverid_traverse_fn, &state, NULL);
+       return NT_STATUS_IS_OK(status);
 }