*/
struct dbwrap_change_int32_atomic_context {
- const char *keystr;
+ TDB_DATA key;
int32_t *oldval;
int32_t change_val;
};
state = (struct dbwrap_change_int32_atomic_context *)private_data;
- rec = dbwrap_fetch_locked(db, talloc_tos(),
- string_term_tdb_data(state->keystr));
+ rec = dbwrap_fetch_locked(db, talloc_tos(), state->key);
if (!rec) {
return NT_STATUS_UNSUCCESSFUL;
}
return ret;
}
-NTSTATUS dbwrap_change_int32_atomic_bystring(struct db_context *db,
- const char *keystr,
- int32_t *oldval,
- int32_t change_val)
+NTSTATUS dbwrap_change_int32_atomic(struct db_context *db,
+ TDB_DATA key,
+ int32_t *oldval,
+ int32_t change_val)
{
NTSTATUS ret;
struct dbwrap_change_int32_atomic_context state;
- state.keystr = keystr;
+ state.key = key;
state.oldval = oldval;
state.change_val = change_val;
return ret;
}
+NTSTATUS dbwrap_change_int32_atomic_bystring(struct db_context *db,
+ const char *keystr,
+ int32_t *oldval,
+ int32_t change_val)
+{
+ return dbwrap_change_int32_atomic(db, string_term_tdb_data(keystr),
+ oldval, change_val);
+}
+
NTSTATUS dbwrap_trans_change_int32_atomic_bystring(struct db_context *db,
const char *keystr,
int32_t *oldval,
NTSTATUS ret;
struct dbwrap_change_int32_atomic_context state;
- state.keystr = keystr;
+ state.key = string_term_tdb_data(keystr);
state.oldval = oldval;
state.change_val = change_val;