diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c index afe8432c72b..a9cddb88de3 100644 --- a/dlls/advapi32/registry.c +++ b/dlls/advapi32/registry.c @@ -825,7 +825,7 @@ DWORD WINAPI RegQueryValueExW( HKEY hkey, LPCWSTR name, LPDWORD reserved, LPDWOR DWORD total_size; char buffer[256], *buf_ptr = buffer; KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer; - static const int info_size = info->Data - (UCHAR *)info; + static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data ); TRACE("(0x%x,%s,%p,%p,%p,%p=%ld)\n", hkey, debugstr_w(name), reserved, type, data, count, count ? *count : 0 ); @@ -892,7 +892,7 @@ DWORD WINAPI RegQueryValueExA( HKEY hkey, LPCSTR name, LPDWORD reserved, LPDWORD DWORD total_size; char buffer[256], *buf_ptr = buffer; KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer; - static const int info_size = info->Data - (UCHAR *)info; + static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data ); TRACE("(0x%x,%s,%p,%p,%p,%p=%ld)\n", hkey, debugstr_a(name), reserved, type, data, count, count ? *count : 0 ); @@ -1040,7 +1040,7 @@ DWORD WINAPI RegEnumValueW( HKEY hkey, DWORD index, LPWSTR value, LPDWORD val_co DWORD total_size; char buffer[256], *buf_ptr = buffer; KEY_VALUE_FULL_INFORMATION *info = (KEY_VALUE_FULL_INFORMATION *)buffer; - static const int info_size = (char *)info->Name - (char *)info; + static const int info_size = offsetof( KEY_VALUE_FULL_INFORMATION, Name ); TRACE("(%x,%ld,%p,%p,%p,%p,%p,%p)\n", hkey, index, value, val_count, reserved, type, data, count ); @@ -1121,7 +1121,7 @@ DWORD WINAPI RegEnumValueA( HKEY hkey, DWORD index, LPSTR value, LPDWORD val_cou DWORD total_size; char buffer[256], *buf_ptr = buffer; KEY_VALUE_FULL_INFORMATION *info = (KEY_VALUE_FULL_INFORMATION *)buffer; - static const int info_size = (char *)info->Name - (char *)info; + static const int info_size = offsetof( KEY_VALUE_FULL_INFORMATION, Name ); TRACE("(%x,%ld,%p,%p,%p,%p,%p,%p)\n", hkey, index, value, val_count, reserved, type, data, count ); diff --git a/memory/registry.c b/memory/registry.c index 2010b999463..c6bd0a2350c 100644 --- a/memory/registry.c +++ b/memory/registry.c @@ -388,7 +388,7 @@ DWORD WINAPI RegQueryValueExA( HKEY hkey, LPCSTR name, LPDWORD reserved, LPDWORD DWORD total_size; char buffer[256], *buf_ptr = buffer; KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer; - static const int info_size = info->Data - (UCHAR *)info; + static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data ); TRACE("(0x%x,%s,%p,%p,%p,%p=%ld)\n", hkey, debugstr_a(name), reserved, type, data, count, count ? *count : 0 ); @@ -500,7 +500,7 @@ DWORD WINAPI RegEnumValueA( HKEY hkey, DWORD index, LPSTR value, LPDWORD val_cou DWORD total_size; char buffer[256], *buf_ptr = buffer; KEY_VALUE_FULL_INFORMATION *info = (KEY_VALUE_FULL_INFORMATION *)buffer; - static const int info_size = (char *)info->Name - (char *)info; + static const int info_size = offsetof( KEY_VALUE_FULL_INFORMATION, Name ); TRACE("(%x,%ld,%p,%p,%p,%p,%p,%p)\n", hkey, index, value, val_count, reserved, type, data, count );