More work to avoid endian bugs in registry tests.
authorAndrew Bartlett <abartlet@samba.org>
Thu, 17 Apr 2008 14:38:53 +0000 (16:38 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 17 Apr 2008 14:38:53 +0000 (16:38 +0200)
Andrew Bartlett

source/lib/registry/tests/registry.c

index ac812823b2edd418368b43cb989482d94f383861..7fad2197527df1e17a4925d5cfbda5be6321c384 100644 (file)
@@ -448,8 +448,9 @@ static bool test_del_value(struct torture_context *tctx, void *_data)
        struct registry_key *subkey = NULL, *root;
        WERROR error;
        DATA_BLOB data;
-       uint32_t value = 42;
        uint32_t type;
+       char value[4];
+       SIVAL(value, 0, 42);
 
        if (!create_test_key(tctx, rctx, "Warschau", &root, &subkey))
                return false;
@@ -460,7 +461,7 @@ static bool test_del_value(struct torture_context *tctx, void *_data)
                                  "getting missing value");
 
        error = reg_val_set(subkey, __FUNCTION__, REG_DWORD,
-                           data_blob_talloc(tctx, &value, 4));
+                           data_blob_talloc(tctx, value, sizeof(value)));
        torture_assert_werr_ok (tctx, error, "setting value");
 
        error = reg_del_value(subkey, __FUNCTION__);
@@ -483,15 +484,16 @@ static bool test_list_values(struct torture_context *tctx, void *_data)
        struct registry_key *subkey = NULL, *root;
        WERROR error;
        DATA_BLOB data;
-       uint32_t value = 42;
        uint32_t type;
        const char *name;
+       char value[4];
+       SIVAL(value, 0, 42);
 
        if (!create_test_key(tctx, rctx, "Bonn", &root, &subkey))
                return false;
 
        error = reg_val_set(subkey, "bar", REG_DWORD,
-                           data_blob_talloc(tctx, &value, 4));
+                           data_blob_talloc(tctx, value, sizeof(val)));
        torture_assert_werr_ok (tctx, error, "setting value");
 
        error = reg_key_get_value_by_index(tctx, subkey, 0, &name,
@@ -500,7 +502,7 @@ static bool test_list_values(struct torture_context *tctx, void *_data)
 
        torture_assert_str_equal(tctx, name, "bar", "value name");
        torture_assert_int_equal(tctx, 4, data.length, "value length");
-       torture_assert_mem_equal(tctx, data.data, &value, 4,
+       torture_assert_mem_equal(tctx, data.data, &value, sizeof(value),
                       "value content");
        torture_assert_int_equal(tctx, REG_DWORD, type, "value type");