dbwrap: Simplify dbwrap_store_int32_bystring
authorVolker Lendecke <vl@samba.org>
Wed, 26 Jul 2017 12:56:53 +0000 (14:56 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 15 Aug 2017 22:27:10 +0000 (00:27 +0200)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/dbwrap/dbwrap_util.c

index 22f910de992534871de7d62f4b44c3c48db3a2df..443a915df2de0aa85c9ff1b42e091e005f3c1e3b 100644 (file)
@@ -77,23 +77,14 @@ NTSTATUS dbwrap_fetch_int32_bystring(struct db_context *db, const char *keystr,
 NTSTATUS dbwrap_store_int32_bystring(struct db_context *db, const char *keystr,
                                     int32_t v)
 {
-       struct db_record *rec;
-       int32_t v_store;
+       uint8_t v_store[sizeof(int32_t)];
+       TDB_DATA data = { .dptr = v_store, .dsize = sizeof(v_store) };
        NTSTATUS status;
 
-       rec = dbwrap_fetch_locked(db, talloc_tos(),
-                                 string_term_tdb_data(keystr));
-       if (rec == NULL) {
-               return NT_STATUS_UNSUCCESSFUL;
-       }
-
-       SIVAL(&v_store, 0, v);
+       SIVAL(v_store, 0, v);
 
-       status = dbwrap_record_store(rec,
-                                    make_tdb_data((const uint8_t *)&v_store,
-                                                  sizeof(v_store)),
-                                    TDB_REPLACE);
-       TALLOC_FREE(rec);
+       status = dbwrap_store(db, string_term_tdb_data(keystr), data,
+                             TDB_REPLACE);
        return status;
 }