case REG_DWORD: {
uint32_t tmp = strtoul((char *)val->data, NULL, 0);
- *data = data_blob_talloc(mem_ctx, &tmp, 4);
+ *data = data_blob_talloc(mem_ctx, NULL, 4);
+ SIVAL(data->data, 0, tmp);
}
break;
val = talloc_asprintf(data->ctx, "**Del.%s", value_name);
blob.data = (uint8_t *)talloc(data->ctx, uint32_t);
- *(uint32_t *)blob.data = 0;
+ SIVAL(blob.data, 0, 0);
blob.length = 4;
return reg_preg_diff_set_value(data, key_name, val, REG_DWORD, blob);
}
DATA_BLOB blob;
blob.data = (uint8_t *)talloc(data->ctx, uint32_t);
- *(uint32_t *)blob.data = 0;
+ SIVAL(blob.data, 0, 0);
blob.length = 4;
return reg_preg_diff_set_value(data, key_name, "**DelVals.", REG_DWORD, blob);
vk.data_type = type;
if (type == REG_DWORD) {
vk.data_length |= 0x80000000;
- vk.data_offset = *(uint32_t *)data.data;
+ vk.data_offset = IVAL(data.data, 0);
} else {
/* Store data somewhere */
vk.data_offset = hbin_store(regf, data);
ret = data_blob_hex_string_upper(mem_ctx, &data);
break;
case REG_DWORD:
- if (*(int *)data.data == 0) {
+ if (IVAL(data.data, 0) == 0) {
ret = talloc_strdup(mem_ctx, "0");
} else {
ret = talloc_asprintf(mem_ctx, "0x%x",
- *(int *)data.data);
+ IVAL(data.data, 0));
}
break;
case REG_NONE:
break;
case REG_DWORD: {
uint32_t tmp = strtol(data_str, NULL, 0);
- *data = data_blob_talloc(mem_ctx, &tmp, 4);
+ *data = data_blob_talloc(mem_ctx, NULL, 4);
+ SIVAL(data->data, 0, tmp);
}
break;
case REG_NONE: