kernel32/tests: Use the available ARRAY_SIZE() macro.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Stefaniuc 2018-06-27 20:56:45 +02:00 committed by Alexandre Julliard
parent 37e22ebb33
commit 80be3a460b
18 changed files with 191 additions and 193 deletions

View File

@ -533,7 +533,7 @@ static int strcmp_aw(LPCWSTR strw, const char *stra)
WCHAR buf[1024];
if (!stra) return 1;
MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, sizeof(buf)/sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, ARRAY_SIZE(buf));
return lstrcmpW(strw, buf);
}
@ -550,7 +550,7 @@ static BOOL create_manifest_file(const char *filename, const char *manifest, int
WCHAR path[MAX_PATH];
MultiByteToWideChar( CP_ACP, 0, filename, -1, path, MAX_PATH );
GetFullPathNameW(path, sizeof(manifest_path)/sizeof(WCHAR), manifest_path, NULL);
GetFullPathNameW(path, ARRAY_SIZE(manifest_path), manifest_path, NULL);
if (manifest_len == -1)
manifest_len = strlen(manifest);
@ -566,7 +566,7 @@ static BOOL create_manifest_file(const char *filename, const char *manifest, int
if (depmanifest)
{
MultiByteToWideChar( CP_ACP, 0, depfile, -1, path, MAX_PATH );
GetFullPathNameW(path, sizeof(depmanifest_path)/sizeof(WCHAR), depmanifest_path, NULL);
GetFullPathNameW(path, ARRAY_SIZE(depmanifest_path), depmanifest_path, NULL);
file = CreateFileW(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %u\n", GetLastError());
@ -2558,7 +2558,7 @@ static void init_paths(void)
static const WCHAR backslash[] = {'\\',0};
static const WCHAR subdir[] = {'T','e','s','t','S','u','b','d','i','r','\\',0};
GetModuleFileNameW(NULL, exe_path, sizeof(exe_path)/sizeof(WCHAR));
GetModuleFileNameW(NULL, exe_path, ARRAY_SIZE(exe_path));
lstrcpyW(app_dir, exe_path);
for(ptr=app_dir+lstrlenW(app_dir); *ptr != '\\' && *ptr != '/'; ptr--);
ptr[1] = 0;
@ -2570,7 +2570,7 @@ static void init_paths(void)
lstrcpyW(work_dir_subdir, work_dir);
lstrcatW(work_dir_subdir, subdir);
GetModuleFileNameW(NULL, app_manifest_path, sizeof(app_manifest_path)/sizeof(WCHAR));
GetModuleFileNameW(NULL, app_manifest_path, ARRAY_SIZE(app_manifest_path));
lstrcpyW(app_manifest_path+lstrlenW(app_manifest_path), dot_manifest);
}
@ -2580,7 +2580,7 @@ static void write_manifest(const char *filename, const char *manifest)
DWORD size;
CHAR path[MAX_PATH];
GetTempPathA(sizeof(path)/sizeof(CHAR), path);
GetTempPathA(ARRAY_SIZE(path), path);
strcat(path, filename);
file = CreateFileA(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
@ -2593,7 +2593,7 @@ static void delete_manifest_file(const char *filename)
{
CHAR path[MAX_PATH];
GetTempPathA(sizeof(path)/sizeof(CHAR), path);
GetTempPathA(ARRAY_SIZE(path), path);
strcat(path, filename);
DeleteFileA(path);
}
@ -2604,7 +2604,7 @@ static void test_CreateActCtx(void)
ACTCTXA actctx;
HANDLE handle;
GetTempPathA(sizeof(path)/sizeof(CHAR), path);
GetTempPathA(ARRAY_SIZE(path), path);
strcat(path, "main_wndcls.manifest");
write_manifest("testdep1.manifest", manifest_wndcls1);
@ -2621,7 +2621,7 @@ static void test_CreateActCtx(void)
pReleaseActCtx(handle);
/* with specified directory, that doesn't contain dependent assembly */
GetWindowsDirectoryA(dir, sizeof(dir)/sizeof(CHAR));
GetWindowsDirectoryA(dir, ARRAY_SIZE(dir));
memset(&actctx, 0, sizeof(ACTCTXA));
actctx.cbSize = sizeof(ACTCTXA);
@ -2667,7 +2667,7 @@ todo_wine
/* load manifest from lpAssemblyDirectory directory */
write_manifest("testdir.manifest", manifest1);
GetTempPathA(sizeof(path)/sizeof(path[0]), path);
GetTempPathA(ARRAY_SIZE(path), path);
SetCurrentDirectoryA(path);
strcat(path, "assembly_dir");
strcpy(dir, path);
@ -3048,14 +3048,14 @@ static void test_settings(void)
ret = pQueryActCtxSettingsW( 0, handle, namespace2005W, dpiAwareW, buffer, 80, &size );
ok( ret, "QueryActCtxSettingsW failed err %u\n", GetLastError() );
ok( !lstrcmpW( buffer, trueW ), "got %s\n", wine_dbgstr_w(buffer) );
ok( size == sizeof(trueW)/sizeof(WCHAR), "wrong len %lu\n", size );
ok( size == ARRAY_SIZE(trueW), "wrong len %lu\n", size );
SetLastError( 0xdeadbeef );
size = 0xdead;
memset( buffer, 0xcc, sizeof(buffer) );
ret = pQueryActCtxSettingsW( 0, handle, namespace2005W, dpiAwareW, buffer, lstrlenW(trueW) + 1, &size );
ok( ret, "QueryActCtxSettingsW failed err %u\n", GetLastError() );
ok( !lstrcmpW( buffer, trueW ), "got %s\n", wine_dbgstr_w(buffer) );
ok( size == sizeof(trueW)/sizeof(WCHAR), "wrong len %lu\n", size );
ok( size == ARRAY_SIZE(trueW), "wrong len %lu\n", size );
SetLastError( 0xdeadbeef );
size = 0xdead;
memset( buffer, 0xcc, sizeof(buffer) );
@ -3087,7 +3087,7 @@ static void test_settings(void)
if (ret)
{
ok( !lstrcmpW( buffer, trueW ), "got %s\n", wine_dbgstr_w(buffer) );
ok( size == sizeof(trueW)/sizeof(WCHAR), "wrong len %lu\n", size );
ok( size == ARRAY_SIZE(trueW), "wrong len %lu\n", size );
}
else ok( buffer[0] == 0xcccc, "got %s\n", wine_dbgstr_w(buffer) );
SetLastError( 0xdeadbeef );
@ -3096,7 +3096,7 @@ static void test_settings(void)
ret = pQueryActCtxSettingsW( 0, handle, NULL, dpiAwareW, buffer, lstrlenW(trueW), &size );
ok( ret, "QueryActCtxSettingsW failed err %u\n", GetLastError() );
ok( !lstrcmpW( buffer, trueW ), "got %s\n", wine_dbgstr_w(buffer) );
ok( size == sizeof(trueW)/sizeof(WCHAR), "wrong len %lu\n", size );
ok( size == ARRAY_SIZE(trueW), "wrong len %lu\n", size );
SetLastError( 0xdeadbeef );
size = 0xdead;
memset( buffer, 0xcc, sizeof(buffer) );
@ -3104,7 +3104,7 @@ static void test_settings(void)
ok( !ret, "QueryActCtxSettingsW failed err %u\n", GetLastError() );
ok( GetLastError() == ERROR_INSUFFICIENT_BUFFER, "wrong error %u\n", GetLastError() );
ok( buffer[0] == 0xcccc, "got %s\n", wine_dbgstr_w(buffer) );
ok( size == sizeof(trueW)/sizeof(WCHAR), "wrong len %lu\n", size );
ok( size == ARRAY_SIZE(trueW), "wrong len %lu\n", size );
pReleaseActCtx(handle);
create_manifest_file( "manifest_settings2.manifest", settings_manifest2, -1, NULL, NULL );

View File

@ -276,7 +276,7 @@ static void test_get_atom_name(void)
do_initW(inW, "abcdefghij", 255);
atom = GlobalAddAtomW(inW);
ok(atom, "couldn't add atom for %s\n", in);
len = GlobalGetAtomNameW(atom, outW, sizeof(outW)/sizeof(outW[0]));
len = GlobalGetAtomNameW(atom, outW, ARRAY_SIZE(outW));
ok(len == 255, "length mismatch (%u instead of 255)\n", len);
for (i = 0; i < 255; i++)
{
@ -537,7 +537,7 @@ static void test_local_get_atom_name(void)
do_initW(inW, "abcdefghij", 255);
atom = AddAtomW(inW);
ok(atom, "couldn't add atom for %s\n", in);
len = GetAtomNameW(atom, outW, sizeof(outW)/sizeof(outW[0]));
len = GetAtomNameW(atom, outW, ARRAY_SIZE(outW));
ok(len == 255, "length mismatch (%u instead of 255)\n", len);
for (i = 0; i < 255; i++)
{

View File

@ -205,7 +205,7 @@ static void test_other_invalid_parameters(void)
char c_string[] = "Hello World";
size_t c_string_len = sizeof(c_string);
WCHAR w_string[] = {'H','e','l','l','o',' ','W','o','r','l','d',0};
size_t w_string_len = sizeof(w_string) / sizeof(WCHAR);
size_t w_string_len = ARRAY_SIZE(w_string);
BOOL used;
INT len;
@ -683,7 +683,7 @@ static void test_utf7_encoding(void)
i, expected_len, expected_len, output[expected_len]);
}
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
for (i = 0; i < ARRAY_SIZE(tests); i++)
{
memset(output, '#', sizeof(output) - 1);
output[sizeof(output) - 1] = 0;
@ -746,12 +746,12 @@ static void test_utf7_decoding(void)
{
/* tests string conversion with srclen=-1 */
{
"+T2BZfQ-", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2BZfQ-", -1, output, ARRAY_SIZE(output) - 1,
{0x4F60,0x597D,0}, 3, 3
},
/* tests string conversion with srclen=-2 */
{
"+T2BZfQ-", -2, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2BZfQ-", -2, output, ARRAY_SIZE(output) - 1,
{0x4F60,0x597D,0}, 3, 3
},
/* tests string conversion with dstlen=strlen(expected_dst) */
@ -781,72 +781,72 @@ static void test_utf7_decoding(void)
},
/* tests ill-formed UTF-7: 6 bits, not enough for a byte pair */
{
"+T-+T-+T-hello", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T-+T-+T-hello", -1, output, ARRAY_SIZE(output) - 1,
{'h','e','l','l','o',0}, 6, 6
},
/* tests ill-formed UTF-7: 12 bits, not enough for a byte pair */
{
"+T2-+T2-+T2-hello", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2-+T2-+T2-hello", -1, output, ARRAY_SIZE(output) - 1,
{'h','e','l','l','o',0}, 6, 6
},
/* tests ill-formed UTF-7: 18 bits, not a multiple of 16 and the last bit is a 1 */
{
"+T2B-+T2B-+T2B-hello", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2B-+T2B-+T2B-hello", -1, output, ARRAY_SIZE(output) - 1,
{0x4F60,0x4F60,0x4F60,'h','e','l','l','o',0}, 9, 9
},
/* tests ill-formed UTF-7: 24 bits, a multiple of 8 but not a multiple of 16 */
{
"+T2BZ-+T2BZ-+T2BZ-hello", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2BZ-+T2BZ-+T2BZ-hello", -1, output, ARRAY_SIZE(output) - 1,
{0x4F60,0x4F60,0x4F60,'h','e','l','l','o',0}, 9, 9
},
/* tests UTF-7 followed by characters that should be encoded but aren't */
{
"+T2BZ-\x82\xFE", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2BZ-\x82\xFE", -1, output, ARRAY_SIZE(output) - 1,
{0x4F60,0x0082,0x00FE,0}, 4, 4
},
/* tests srclen > strlen(src) */
{
"a\0b", 4, output, sizeof(output) / sizeof(WCHAR) - 1,
"a\0b", 4, output, ARRAY_SIZE(output) - 1,
{'a',0,'b',0}, 4, 4
},
/* tests srclen < strlen(src) outside of a UTF-7 sequence */
{
"hello", 2, output, sizeof(output) / sizeof(WCHAR) - 1,
"hello", 2, output, ARRAY_SIZE(output) - 1,
{'h','e'}, 2, 2
},
/* tests srclen < strlen(src) inside of a UTF-7 sequence */
{
"+T2BZfQ-", 4, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2BZfQ-", 4, output, ARRAY_SIZE(output) - 1,
{0x4F60}, 1, 1
},
/* tests srclen < strlen(src) right at the beginning of a UTF-7 sequence */
{
"hi+T2A-", 3, output, sizeof(output) / sizeof(WCHAR) - 1,
"hi+T2A-", 3, output, ARRAY_SIZE(output) - 1,
{'h','i'}, 2, 2
},
/* tests srclen < strlen(src) right at the end of a UTF-7 sequence */
{
"+T2A-hi", 5, output, sizeof(output) / sizeof(WCHAR) - 1,
"+T2A-hi", 5, output, ARRAY_SIZE(output) - 1,
{0x4F60}, 1, 1
},
/* tests srclen < strlen(src) at the beginning of an escaped + sign */
{
"hi+-", 3, output, sizeof(output) / sizeof(WCHAR) - 1,
"hi+-", 3, output, ARRAY_SIZE(output) - 1,
{'h','i'}, 2, 2
},
/* tests srclen < strlen(src) at the end of an escaped + sign */
{
"+-hi", 2, output, sizeof(output) / sizeof(WCHAR) - 1,
"+-hi", 2, output, ARRAY_SIZE(output) - 1,
{'+'}, 1, 1
},
/* tests len=0 but no error */
{
"+", 1, output, sizeof(output) / sizeof(WCHAR) - 1,
"+", 1, output, ARRAY_SIZE(output) - 1,
{}, 0, 0
},
/* tests a single null char */
{
"", -1, output, sizeof(output) / sizeof(WCHAR) - 1,
"", -1, output, ARRAY_SIZE(output) - 1,
{0}, 1, 1
},
/* tests a buffer that runs out while not decoding a UTF-7 sequence */
@ -867,9 +867,9 @@ static void test_utf7_decoding(void)
sprintf(input, "+%c+AAA", i);
memset(output, 0x23, sizeof(output) - sizeof(WCHAR));
output[sizeof(output) / sizeof(WCHAR) - 1] = 0;
output[ARRAY_SIZE(output) - 1] = 0;
len = MultiByteToWideChar(CP_UTF7, 0, input, 7, output, sizeof(output) / sizeof(WCHAR) - 1);
len = MultiByteToWideChar(CP_UTF7, 0, input, 7, output, ARRAY_SIZE(output) - 1);
if (i == '-')
{
@ -909,9 +909,9 @@ static void test_utf7_decoding(void)
sprintf(input, "+B%c+AAA", i);
memset(output, 0x23, sizeof(output) - sizeof(WCHAR));
output[sizeof(output) / sizeof(WCHAR) - 1] = 0;
output[ARRAY_SIZE(output) - 1] = 0;
len = MultiByteToWideChar(CP_UTF7, 0, input, 8, output, sizeof(output) / sizeof(WCHAR) - 1);
len = MultiByteToWideChar(CP_UTF7, 0, input, 8, output, ARRAY_SIZE(output) - 1);
if (i == '-')
{
@ -955,10 +955,10 @@ static void test_utf7_decoding(void)
i, wine_dbgstr_wn(expected, expected_len + 1), wine_dbgstr_wn(output, expected_len + 1));
}
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
for (i = 0; i < ARRAY_SIZE(tests); i++)
{
memset(output, 0x23, sizeof(output) - sizeof(WCHAR));
output[sizeof(output) / sizeof(WCHAR) - 1] = 0;
output[ARRAY_SIZE(output) - 1] = 0;
SetLastError(0xdeadbeef);
len = MultiByteToWideChar(CP_UTF7, 0, tests[i].src, tests[i].srclen,
@ -1004,7 +1004,7 @@ static void test_undefined_byte_char(void)
};
INT i, ret;
for (i = 0; i < (sizeof(testset) / sizeof(testset[0])); i++) {
for (i = 0; i < ARRAY_SIZE(testset); i++) {
if (! IsValidCodePage(testset[i].codepage))
{
skip("Codepage %d not available\n", testset[i].codepage);
@ -1106,7 +1106,7 @@ static void test_threadcp(void)
last = GetThreadLocale();
acp = GetACP();
for (i = 0; i < sizeof(lcids)/sizeof(lcids[0]); i++)
for (i = 0; i < ARRAY_SIZE(lcids); i++)
{
SetThreadLocale(lcids[i].lcid);
@ -1151,7 +1151,7 @@ static void test_threadcp(void)
}
/* IsDBCSLeadByteEx - locales without codepage */
for (i = 0; i < sizeof(isleads_nocp)/sizeof(isleads_nocp[0]); i++)
for (i = 0; i < ARRAY_SIZE(isleads_nocp); i++)
{
SetThreadLocale(isleads_nocp[i].lcid);
@ -1163,7 +1163,7 @@ static void test_threadcp(void)
}
/* IsDBCSLeadByteEx - locales with codepage */
for (i = 0; i < sizeof(isleads)/sizeof(isleads[0]); i++)
for (i = 0; i < ARRAY_SIZE(isleads); i++)
{
SetThreadLocale(isleads[i].lcid);
@ -1194,7 +1194,7 @@ static void test_dbcs_to_widechar(void)
MB_COMPOSITE |MB_ERR_INVALID_CHARS|MB_USEGLYPHCHARS,
};
for (i = 0; i < sizeof(flags)/sizeof(DWORD); ++i)
for (i = 0; i < ARRAY_SIZE(flags); ++i)
{
memset(wbuf, 0xff, sizeof(wbuf));
count = MultiByteToWideChar(936, flags[i], (char*)&buf[0], 2, NULL, 0);
@ -1206,7 +1206,7 @@ static void test_dbcs_to_widechar(void)
ok(wbuf[1] == 0xffff, "%04x: returned %04x (expected ffff)\n", flags[i], wbuf[1]);
}
for (i = 0; i < sizeof(flags)/sizeof(DWORD); ++i)
for (i = 0; i < ARRAY_SIZE(flags); ++i)
{
memset(wbuf, 0xff, sizeof(wbuf));
count = MultiByteToWideChar(936, flags[i], (char*)&buf[0], 3, NULL, 0);
@ -1232,7 +1232,7 @@ static void test_dbcs_to_widechar(void)
}
/* src ends with null character */
for (i = 0; i < sizeof(flags)/sizeof(DWORD); ++i)
for (i = 0; i < ARRAY_SIZE(flags); ++i)
{
memset(wbuf, 0xff, sizeof(wbuf));
count = MultiByteToWideChar(936, flags[i], (char*)&buf[0], 4, NULL, 0);
@ -1261,7 +1261,7 @@ static void test_dbcs_to_widechar(void)
}
/* src has null character, but not ends with it */
for (i = 0; i < sizeof(flags)/sizeof(DWORD); ++i)
for (i = 0; i < ARRAY_SIZE(flags); ++i)
{
memset(wbuf, 0xff, sizeof(wbuf));
count = MultiByteToWideChar(936, flags[i], (char*)&buf[0], 5, NULL, 0);

View File

@ -582,7 +582,7 @@ static void test_BuildCommDCBW(const char *string, const TEST *ptest, int initia
WCHAR wide_string[sizeof(ptest->string)];
static int reportedDCBW = 0;
MultiByteToWideChar(CP_ACP, 0, string, -1, wide_string, sizeof(wide_string) / sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, string, -1, wide_string, ARRAY_SIZE(wide_string));
/* set initial conditions */
memset(&dcb, initial_value, sizeof(DCB));
@ -610,7 +610,7 @@ static void test_BuildCommDCBAndTimeoutsW(const char *string, const TEST *ptest,
WCHAR wide_string[sizeof(ptest->string)];
static int reportedDCBAndTW = 0;
MultiByteToWideChar(CP_ACP, 0, string, -1, wide_string, sizeof(wide_string) / sizeof(WCHAR));
MultiByteToWideChar(CP_ACP, 0, string, -1, wide_string, ARRAY_SIZE(wide_string));
/* set initial conditions */
memset(&dcb, initial_value, sizeof(DCB));

View File

@ -982,7 +982,7 @@ static void test_GetSetConsoleInputExeName(void)
GetModuleFileNameA(GetModuleHandleA(NULL), module, sizeof(module));
p = strrchr(module, '\\') + 1;
ret = pGetConsoleInputExeNameA(sizeof(buffer)/sizeof(buffer[0]), buffer);
ret = pGetConsoleInputExeNameA(ARRAY_SIZE(buffer), buffer);
ok(ret, "GetConsoleInputExeNameA failed\n");
todo_wine ok(!lstrcmpA(buffer, p), "got %s expected %s\n", buffer, p);
@ -1001,7 +1001,7 @@ static void test_GetSetConsoleInputExeName(void)
ret = pSetConsoleInputExeNameA(input_exe);
ok(ret, "SetConsoleInputExeNameA failed\n");
ret = pGetConsoleInputExeNameA(sizeof(buffer)/sizeof(buffer[0]), buffer);
ret = pGetConsoleInputExeNameA(ARRAY_SIZE(buffer), buffer);
ok(ret, "GetConsoleInputExeNameA failed\n");
ok(!lstrcmpA(buffer, input_exe), "got %s expected %s\n", buffer, input_exe);
}
@ -1074,7 +1074,7 @@ static void test_OpenCON(void)
unsigned i;
HANDLE h;
for (i = 0; i < sizeof(accesses) / sizeof(accesses[0]); i++)
for (i = 0; i < ARRAY_SIZE(accesses); i++)
{
h = CreateFileW(conW, GENERIC_WRITE, 0, NULL, accesses[i], 0, NULL);
ok(h != INVALID_HANDLE_VALUE || broken(accesses[i] == TRUNCATE_EXISTING /* Win8 */),
@ -1179,7 +1179,7 @@ static void test_OpenConsoleW(void)
return;
}
for (index = 0; index < sizeof(invalid_table)/sizeof(invalid_table[0]); index++)
for (index = 0; index < ARRAY_SIZE(invalid_table); index++)
{
SetLastError(0xdeadbeef);
ret = pOpenConsoleW(invalid_table[index].name, invalid_table[index].access,
@ -1193,7 +1193,7 @@ static void test_OpenConsoleW(void)
invalid_table[index].gle, invalid_table[index].gle2, index, gle);
}
for (index = 0; index < sizeof(valid_table)/sizeof(valid_table[0]); index++)
for (index = 0; index < ARRAY_SIZE(valid_table); index++)
{
ret = pOpenConsoleW(valid_table[index].name, valid_table[index].access,
valid_table[index].inherit, valid_table[index].creation);
@ -1248,7 +1248,7 @@ static void test_CreateFileW(void)
HANDLE ret;
SECURITY_ATTRIBUTES sa;
for (index = 0; index < sizeof(cf_table)/sizeof(cf_table[0]); index++)
for (index = 0; index < ARRAY_SIZE(cf_table); index++)
{
SetLastError(0xdeadbeef);
@ -1380,7 +1380,7 @@ static void test_GetNumberOfConsoleInputEvents(HANDLE input_handle)
{INVALID_HANDLE_VALUE, &count, ERROR_INVALID_HANDLE},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
SetLastError(0xdeadbeef);
if (invalid_table[i].nrofevents) count = 0xdeadbeef;
@ -1481,7 +1481,7 @@ static void test_WriteConsoleInputA(HANDLE input_handle)
event.EventType = MOUSE_EVENT;
event.Event.MouseEvent = mouse_event;
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win_crash)
continue;
@ -1541,31 +1541,31 @@ static void test_WriteConsoleInputA(HANDLE input_handle)
ret = FlushConsoleInputBuffer(input_handle);
ok(ret == TRUE, "Expected FlushConsoleInputBuffer to return TRUE, got %d\n", ret);
for (i = 0; i < sizeof(event_list)/sizeof(event_list[0]); i++)
for (i = 0; i < ARRAY_SIZE(event_list); i++)
{
event_list[i].EventType = MOUSE_EVENT;
event_list[i].Event.MouseEvent = mouse_event;
}
/* Writing consecutive chunks of mouse events appears to work. */
ret = WriteConsoleInputA(input_handle, event_list, sizeof(event_list)/sizeof(event_list[0]), &count);
ret = WriteConsoleInputA(input_handle, event_list, ARRAY_SIZE(event_list), &count);
ok(ret == TRUE, "Expected WriteConsoleInputA to return TRUE, got %d\n", ret);
ok(count == sizeof(event_list)/sizeof(event_list[0]),
ok(count == ARRAY_SIZE(event_list),
"Expected count to be event list length, got %u\n", count);
ret = GetNumberOfConsoleInputEvents(input_handle, &count);
ok(ret == TRUE, "Expected GetNumberOfConsoleInputEvents to return TRUE, got %d\n", ret);
ok(count == sizeof(event_list)/sizeof(event_list[0]),
ok(count == ARRAY_SIZE(event_list),
"Expected count to be event list length, got %u\n", count);
ret = WriteConsoleInputA(input_handle, event_list, sizeof(event_list)/sizeof(event_list[0]), &count);
ret = WriteConsoleInputA(input_handle, event_list, ARRAY_SIZE(event_list), &count);
ok(ret == TRUE, "Expected WriteConsoleInputA to return TRUE, got %d\n", ret);
ok(count == sizeof(event_list)/sizeof(event_list[0]),
ok(count == ARRAY_SIZE(event_list),
"Expected count to be event list length, got %u\n", count);
ret = GetNumberOfConsoleInputEvents(input_handle, &count);
ok(ret == TRUE, "Expected GetNumberOfConsoleInputEvents to return TRUE, got %d\n", ret);
ok(count == 2*sizeof(event_list)/sizeof(event_list[0]),
ok(count == 2*ARRAY_SIZE(event_list),
"Expected count to be twice event list length, got %u\n", count);
/* Again, writing a single mouse event with adjacent mouse events queued doesn't appear to affect the count. */
@ -1576,7 +1576,7 @@ static void test_WriteConsoleInputA(HANDLE input_handle)
ret = GetNumberOfConsoleInputEvents(input_handle, &count);
ok(ret == TRUE, "Expected GetNumberOfConsoleInputEvents to return TRUE, got %d\n", ret);
todo_wine
ok(count == 2*sizeof(event_list)/sizeof(event_list[0]),
ok(count == 2*ARRAY_SIZE(event_list),
"Expected count to be twice event list length, got %u\n", count);
ret = FlushConsoleInputBuffer(input_handle);
@ -1718,7 +1718,7 @@ static void test_WriteConsoleInputW(HANDLE input_handle)
event.EventType = MOUSE_EVENT;
event.Event.MouseEvent = mouse_event;
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win_crash)
continue;
@ -1778,31 +1778,31 @@ static void test_WriteConsoleInputW(HANDLE input_handle)
ret = FlushConsoleInputBuffer(input_handle);
ok(ret == TRUE, "Expected FlushConsoleInputBuffer to return TRUE, got %d\n", ret);
for (i = 0; i < sizeof(event_list)/sizeof(event_list[0]); i++)
for (i = 0; i < ARRAY_SIZE(event_list); i++)
{
event_list[i].EventType = MOUSE_EVENT;
event_list[i].Event.MouseEvent = mouse_event;
}
/* Writing consecutive chunks of mouse events appears to work. */
ret = WriteConsoleInputW(input_handle, event_list, sizeof(event_list)/sizeof(event_list[0]), &count);
ret = WriteConsoleInputW(input_handle, event_list, ARRAY_SIZE(event_list), &count);
ok(ret == TRUE, "Expected WriteConsoleInputW to return TRUE, got %d\n", ret);
ok(count == sizeof(event_list)/sizeof(event_list[0]),
ok(count == ARRAY_SIZE(event_list),
"Expected count to be event list length, got %u\n", count);
ret = GetNumberOfConsoleInputEvents(input_handle, &count);
ok(ret == TRUE, "Expected GetNumberOfConsoleInputEvents to return TRUE, got %d\n", ret);
ok(count == sizeof(event_list)/sizeof(event_list[0]),
ok(count == ARRAY_SIZE(event_list),
"Expected count to be event list length, got %u\n", count);
ret = WriteConsoleInputW(input_handle, event_list, sizeof(event_list)/sizeof(event_list[0]), &count);
ret = WriteConsoleInputW(input_handle, event_list, ARRAY_SIZE(event_list), &count);
ok(ret == TRUE, "Expected WriteConsoleInputW to return TRUE, got %d\n", ret);
ok(count == sizeof(event_list)/sizeof(event_list[0]),
ok(count == ARRAY_SIZE(event_list),
"Expected count to be event list length, got %u\n", count);
ret = GetNumberOfConsoleInputEvents(input_handle, &count);
ok(ret == TRUE, "Expected GetNumberOfConsoleInputEvents to return TRUE, got %d\n", ret);
ok(count == 2*sizeof(event_list)/sizeof(event_list[0]),
ok(count == 2*ARRAY_SIZE(event_list),
"Expected count to be twice event list length, got %u\n", count);
/* Again, writing a single mouse event with adjacent mouse events queued doesn't appear to affect the count. */
@ -1813,7 +1813,7 @@ static void test_WriteConsoleInputW(HANDLE input_handle)
ret = GetNumberOfConsoleInputEvents(input_handle, &count);
ok(ret == TRUE, "Expected GetNumberOfConsoleInputEvents to return TRUE, got %d\n", ret);
todo_wine
ok(count == 2*sizeof(event_list)/sizeof(event_list[0]),
ok(count == 2*ARRAY_SIZE(event_list),
"Expected count to be twice event list length, got %u\n", count);
ret = FlushConsoleInputBuffer(input_handle);
@ -1932,7 +1932,7 @@ static void test_WriteConsoleOutputCharacterA(HANDLE output_handle)
{output_handle, output, 1, {0, 0}, NULL, 0xdeadbeef, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2016,7 +2016,7 @@ static void test_WriteConsoleOutputCharacterW(HANDLE output_handle)
{output_handle, outputW, 1, {0, 0}, NULL, 0xdeadbeef, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2099,7 +2099,7 @@ static void test_WriteConsoleOutputAttribute(HANDLE output_handle)
{output_handle, &attr, 1, {0, 0}, NULL, 0xdeadbeef, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2169,7 +2169,7 @@ static void test_FillConsoleOutputCharacterA(HANDLE output_handle)
{output_handle, 'a', 1, {0, 0}, NULL, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2228,7 +2228,7 @@ static void test_FillConsoleOutputCharacterW(HANDLE output_handle)
{output_handle, 'a', 1, {0, 0}, NULL, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2287,7 +2287,7 @@ static void test_FillConsoleOutputAttribute(HANDLE output_handle)
{output_handle, FOREGROUND_BLUE, 1, {0, 0}, NULL, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2365,7 +2365,7 @@ static void test_ReadConsoleOutputCharacterA(HANDLE output_handle)
{output_handle, &read, 1, {0, 0}, NULL, 0xdeadbeef, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2449,7 +2449,7 @@ static void test_ReadConsoleOutputCharacterW(HANDLE output_handle)
{output_handle, &read, 1, {0, 0}, NULL, 0xdeadbeef, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;
@ -2532,7 +2532,7 @@ static void test_ReadConsoleOutputAttribute(HANDLE output_handle)
{output_handle, &attr, 1, {0, 0}, NULL, 0xdeadbeef, ERROR_INVALID_ACCESS, 1},
};
for (i = 0; i < sizeof(invalid_table)/sizeof(invalid_table[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_table); i++)
{
if (invalid_table[i].win7_crash)
continue;

View File

@ -1836,7 +1836,7 @@ static void test_DeleteFileW( void )
/* test DeleteFile on empty directory */
ret = GetTempPathW(MAX_PATH, pathW);
if (ret + sizeof(dirW)/sizeof(WCHAR)-1 + sizeof(subdirW)/sizeof(WCHAR)-1 >= MAX_PATH)
if (ret + ARRAY_SIZE(dirW)-1 + ARRAY_SIZE(subdirW)-1 >= MAX_PATH)
{
ok(0, "MAX_PATH exceeded in constructing paths\n");
return;
@ -2366,9 +2366,9 @@ static void test_file_sharing(void)
return;
}
for (a1 = 0; a1 < sizeof(access_modes)/sizeof(access_modes[0]); a1++)
for (a1 = 0; a1 < ARRAY_SIZE(access_modes); a1++)
{
for (s1 = 0; s1 < sizeof(sharing_modes)/sizeof(sharing_modes[0]); s1++)
for (s1 = 0; s1 < ARRAY_SIZE(sharing_modes); s1++)
{
SetLastError(0xdeadbeef);
h = CreateFileA( filename, access_modes[a1].dw, sharing_modes[s1].dw,
@ -2378,9 +2378,9 @@ static void test_file_sharing(void)
ok(0,"couldn't create file \"%s\" (err=%d)\n",filename,GetLastError());
return;
}
for (a2 = 0; a2 < sizeof(access_modes)/sizeof(access_modes[0]); a2++)
for (a2 = 0; a2 < ARRAY_SIZE(access_modes); a2++)
{
for (s2 = 0; s2 < sizeof(sharing_modes)/sizeof(sharing_modes[0]); s2++)
for (s2 = 0; s2 < ARRAY_SIZE(sharing_modes); s2++)
{
SetLastError(0xdeadbeef);
h2 = CreateFileA( filename, access_modes[a2].dw, sharing_modes[s2].dw,
@ -2411,7 +2411,7 @@ static void test_file_sharing(void)
}
}
for (a1 = 0; a1 < sizeof(mapping_modes)/sizeof(mapping_modes[0]); a1++)
for (a1 = 0; a1 < ARRAY_SIZE(mapping_modes); a1++)
{
HANDLE m;
@ -2428,9 +2428,9 @@ static void test_file_sharing(void)
CloseHandle( h );
if (!m) continue;
for (a2 = 0; a2 < sizeof(access_modes)/sizeof(access_modes[0]); a2++)
for (a2 = 0; a2 < ARRAY_SIZE(access_modes); a2++)
{
for (s2 = 0; s2 < sizeof(sharing_modes)/sizeof(sharing_modes[0]); s2++)
for (s2 = 0; s2 < ARRAY_SIZE(sharing_modes); s2++)
{
SetLastError(0xdeadbeef);
h2 = CreateFileA( filename, access_modes[a2].dw, sharing_modes[s2].dw,
@ -2861,10 +2861,10 @@ static void test_FindFirstFile_wildcards(void)
CreateDirectoryA("test-dir", NULL);
SetCurrentDirectoryA("test-dir");
for (i = 0; i < sizeof(files) / sizeof(files[0]); ++i)
for (i = 0; i < ARRAY_SIZE(files); ++i)
_lclose(_lcreat(files[i], 0));
for (i = 0; i < sizeof(tests) / sizeof(tests[0]); ++i)
for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
char correct[512];
char incorrect[512];
@ -2901,7 +2901,7 @@ static void test_FindFirstFile_wildcards(void)
missing[0] ? missing+2 : "none");
}
for (i = 0; i < sizeof(files) / sizeof(files[0]); ++i)
for (i = 0; i < ARRAY_SIZE(files); ++i)
DeleteFileA(files[i]);
SetCurrentDirectoryA("..");
RemoveDirectoryA("test-dir");
@ -3007,7 +3007,7 @@ static void test_async_file_errors(void)
ovl.hEvent = hSem;
completion_count = 0;
szFile[0] = '\0';
GetWindowsDirectoryA(szFile, sizeof(szFile)/sizeof(szFile[0])-1-strlen("\\win.ini"));
GetWindowsDirectoryA(szFile, ARRAY_SIZE(szFile)-1-strlen("\\win.ini"));
strcat(szFile, "\\win.ini");
hFile = CreateFileA(szFile, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL, OPEN_ALWAYS, FILE_FLAG_OVERLAPPED, NULL);
@ -3881,7 +3881,7 @@ todo_wine_if (i == 1)
}
}
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
hfile = CreateFileA(file_name, td[i].access, 0, NULL, td[i].disposition, 0, 0);
@ -3987,7 +3987,7 @@ static void test_GetFileInformationByHandleEx(void)
ok(directory != INVALID_HANDLE_VALUE, "GetFileInformationByHandleEx: failed to open the temp folder, "
"got error %u.\n", GetLastError());
for (i = 0; i < sizeof(checks) / sizeof(checks[0]); i += 1)
for (i = 0; i < ARRAY_SIZE(checks); i += 1)
{
SetLastError(0xdeadbeef);
ret = pGetFileInformationByHandleEx(directory, checks[i].handleClass, checks[i].ptr, checks[i].size);
@ -4129,7 +4129,7 @@ static void test_OpenFileById(void)
ok(ret2 != INVALID_FILE_ATTRIBUTES,
"OpenFileById: GetFileAttributesA failed to find the temp file, got error %u\n", GetLastError());
ret2 = MultiByteToWideChar(CP_ACP, 0, tempFileName + strlen(tempPath), -1, tempFileNameW, sizeof(tempFileNameW)/sizeof(tempFileNameW[0]));
ret2 = MultiByteToWideChar(CP_ACP, 0, tempFileName + strlen(tempPath), -1, tempFileNameW, ARRAY_SIZE(tempFileNameW));
ok(ret2, "OpenFileById: MultiByteToWideChar failed to convert tempFileName, got error %u.\n", GetLastError());
tempFileNameLen = ret2 - 1;
@ -4587,7 +4587,7 @@ static void test_file_access(void)
GetTempPathA(MAX_PATH, path);
GetTempFileNameA(path, "foo", 0, fname);
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
hfile = CreateFileA(fname, td[i].access, 0, NULL, CREATE_ALWAYS,
@ -4601,7 +4601,7 @@ static void test_file_access(void)
else
ok(hfile != INVALID_HANDLE_VALUE, "%d: CreateFile error %d\n", i, GetLastError());
for (j = 0; j < sizeof(td)/sizeof(td[0]); j++)
for (j = 0; j < ARRAY_SIZE(td); j++)
{
SetLastError(0xdeadbeef);
ret = DuplicateHandle(GetCurrentProcess(), hfile, GetCurrentProcess(), &hdup,
@ -4843,7 +4843,7 @@ static void test_GetFinalPathNameByHandleW(void)
success = GetVolumePathNameW(long_path, drive_part, MAX_PATH);
ok(success, "GetVolumePathNameW error %u\n", GetLastError());
success = GetVolumeNameForVolumeMountPointW(drive_part, volume_path, sizeof(volume_path) / sizeof(WCHAR));
success = GetVolumeNameForVolumeMountPointW(drive_part, volume_path, ARRAY_SIZE(volume_path));
ok(success, "GetVolumeNameForVolumeMountPointW error %u\n", GetLastError());
/* Test for VOLUME_NAME_GUID */
@ -4863,7 +4863,7 @@ static void test_GetFinalPathNameByHandleW(void)
wine_dbgstr_w(file_part), wine_dbgstr_w(result_path));
drive_part[lstrlenW(drive_part)-1] = 0;
success = QueryDosDeviceW(drive_part, nt_path, sizeof(nt_path) / sizeof(WCHAR));
success = QueryDosDeviceW(drive_part, nt_path, ARRAY_SIZE(nt_path));
ok(success, "QueryDosDeviceW error %u\n", GetLastError());
/* Test for VOLUME_NAME_NT */

View File

@ -823,7 +823,7 @@ static void test_obsolete_flags(void)
return;
}
for (i = 0; i < sizeof(test_global_flags)/sizeof(test_global_flags[0]); i++)
for (i = 0; i < ARRAY_SIZE(test_global_flags); i++)
{
gbl = GlobalAlloc(test_global_flags[i].flags, 4);
ok(gbl != NULL, "GlobalAlloc failed\n");

View File

@ -697,7 +697,7 @@ static void test_Loader(void)
/* prevent displaying of the "Unable to load this DLL" message box */
SetErrorMode(SEM_FAILCRITICALERRORS);
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
nt_header = nt_header_template;
nt_header.FileHeader.NumberOfSections = td[i].number_of_sections;
@ -922,7 +922,7 @@ static void test_Loader(void)
error_match = FALSE;
for (error_index = 0;
! error_match && error_index < sizeof(td[i].errors) / sizeof(DWORD);
! error_match && error_index < ARRAY_SIZE(td[i].errors);
error_index++)
{
error_match = td[i].errors[error_index] == GetLastError();
@ -1581,7 +1581,7 @@ static void test_VirtualProtect(void *base, void *section)
orig_prot = old_prot;
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
ret = VirtualQuery(section, &info, sizeof(info));
@ -1712,7 +1712,7 @@ static void test_section_access(void)
GetTempPathA(MAX_PATH, temp_path);
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
IMAGE_NT_HEADERS nt_header;
@ -2028,7 +2028,7 @@ static DWORD WINAPI mutex_thread_proc(void *param)
trace("%04x: mutex_thread_proc: starting\n", GetCurrentThreadId());
while (1)
{
ret = WaitForMultipleObjects(sizeof(wait_list)/sizeof(wait_list[0]), wait_list, FALSE, 50);
ret = WaitForMultipleObjects(ARRAY_SIZE(wait_list), wait_list, FALSE, 50);
if (ret == WAIT_OBJECT_0) break;
else if (ret == WAIT_OBJECT_0 + 1)
{
@ -3364,7 +3364,7 @@ static void test_ResolveDelayLoadedAPI(void)
section.PointerToRawData = 0x2000;
section.VirtualAddress = 0x2000;
i = sizeof(td)/sizeof(td[0]);
i = ARRAY_SIZE(td);
section.Misc.VirtualSize = sizeof(test_dll) + sizeof(hint) + sizeof(test_func) + sizeof(HMODULE) +
2 * (i + 1) * sizeof(IMAGE_THUNK_DATA);
ok(section.Misc.VirtualSize <= 0x1000, "Too much tests, add a new section!\n");
@ -3413,7 +3413,7 @@ static void test_ResolveDelayLoadedAPI(void)
SetFilePointer( hfile, idd.ImportAddressTableRVA, NULL, SEEK_SET );
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
/* 0x1a00 is an empty space between delay data and extended delay data, real thunks are not necessary */
itd32.u1.Function = nt_header.OptionalHeader.ImageBase + 0x1a00 + i * 0x20;
@ -3427,7 +3427,7 @@ static void test_ResolveDelayLoadedAPI(void)
ret = WriteFile(hfile, &itd32, sizeof(itd32), &dummy, NULL);
ok(ret, "WriteFile error %d\n", GetLastError());
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
if (td[i].func)
itd32.u1.AddressOfData = idd.DllNameRVA + sizeof(test_dll);
@ -3480,7 +3480,7 @@ static void test_ResolveDelayLoadedAPI(void)
itda = RVAToAddr(delaydir->ImportAddressTableRVA, hlib);
htarget = LoadLibraryA(RVAToAddr(delaydir->DllNameRVA, hlib));
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
void *ret, *load;

View File

@ -39,7 +39,7 @@ static BOOL cmpStrAW(const char* a, const WCHAR* b, DWORD lenA, DWORD lenB)
WCHAR aw[1024];
DWORD len = MultiByteToWideChar( AreFileApisANSI() ? CP_ACP : CP_OEMCP, 0,
a, lenA, aw, sizeof(aw) / sizeof(aw[0]) );
a, lenA, aw, ARRAY_SIZE(aw));
if (len != lenB) return FALSE;
return memcmp(aw, b, len * sizeof(WCHAR)) == 0;
}
@ -149,7 +149,7 @@ static void testGetModuleFileName(const char* name)
{
memset(bufW, '-', sizeof(bufW));
SetLastError(0xdeadbeef);
len1W = GetModuleFileNameW(hMod, bufW, sizeof(bufW) / sizeof(WCHAR));
len1W = GetModuleFileNameW(hMod, bufW, ARRAY_SIZE(bufW));
ok(GetLastError() == ERROR_SUCCESS ||
broken(GetLastError() == 0xdeadbeef), /* <= XP SP3 */
"LastError was not reset: %u\n", GetLastError());
@ -191,7 +191,8 @@ static void testGetModuleFileName_Wrong(void)
if (is_unicode_enabled)
{
bufW[0] = '*';
ok(GetModuleFileNameW((void*)0xffffffff, bufW, sizeof(bufW) / sizeof(WCHAR)) == 0, "Unexpected success in module handle\n");
ok(GetModuleFileNameW((void*)0xffffffff, bufW, ARRAY_SIZE(bufW)) == 0,
"Unexpected success in module handle\n");
ok(bufW[0] == '*', "When failing, buffer shouldn't be written to\n");
}
@ -538,7 +539,7 @@ static void test_LoadLibraryEx_search_flags(void)
ok( !mod, "LoadLibrary succeeded\n" );
ok( GetLastError() == ERROR_MOD_NOT_FOUND, "wrong error %u\n", GetLastError() );
for (j = 0; j < sizeof(tests) / sizeof(tests[0]); j++)
for (j = 0; j < ARRAY_SIZE(tests); j++)
{
for (k = 0; tests[j].add_dirs[k]; k++)
{
@ -598,7 +599,7 @@ static void testGetDllDirectory(void)
"C:\\Some\\Path\\",
"Q:\\A\\Long\\Path with spaces that\\probably\\doesn't exist!",
};
const int test_count = sizeof(dll_directories) / sizeof(dll_directories[0]);
const int test_count = ARRAY_SIZE(dll_directories);
if (!pGetDllDirectoryA || !pGetDllDirectoryW)
{
@ -917,7 +918,7 @@ static void test_AddDllDirectory(void)
}
buf[0] = '\0';
GetTempPathW( sizeof(path)/sizeof(path[0]), path );
GetTempPathW(ARRAY_SIZE(path), path );
ret = GetTempFileNameW( path, tmpW, 0, buf );
ok( ret, "GetTempFileName failed err %u\n", GetLastError() );
SetLastError( 0xdeadbeef );

View File

@ -1018,7 +1018,7 @@ static void test_GetTempPathA(char* tmp_dir)
len = GetTempPathA(slen / 2, buf);
ok(len == slen || broken(len == slen + 1) /* read the big comment above */ ,
"expected %d, got %d\n", slen, len);
for(len = 0; len < sizeof(buf) / sizeof(buf[0]); len++)
for(len = 0; len < ARRAY_SIZE(buf); len++)
ok(buf[len] == 'a', "expected 'a' at [%d], got 0x%x\n", len, buf[len]);
}
@ -1029,7 +1029,7 @@ static void test_GetTempPathW(char* tmp_dir)
WCHAR tmp_dirW[MAX_PATH];
static const WCHAR fooW[] = {'f','o','o',0};
MultiByteToWideChar(CP_ACP,0,tmp_dir,-1,tmp_dirW,sizeof(tmp_dirW)/sizeof(*tmp_dirW));
MultiByteToWideChar(CP_ACP, 0, tmp_dir, -1, tmp_dirW, ARRAY_SIZE(tmp_dirW));
len_with_null = lstrlenW(tmp_dirW) + 1;
/* This one is different from ANSI version: ANSI version doesn't
@ -1064,18 +1064,18 @@ static void test_GetTempPathW(char* tmp_dir)
ok(lstrcmpiW(buf, tmp_dirW) == 0, "GetTempPathW returned an incorrect temporary path\n");
ok(len == lstrlenW(buf), "returned length should be equal to the length of string\n");
for(len = 0; len < sizeof(buf) / sizeof(buf[0]); len++)
for(len = 0; len < ARRAY_SIZE(buf); len++)
buf[len] = 'a';
len = GetTempPathW(len, buf);
ok(lstrcmpiW(buf, tmp_dirW) == 0, "GetTempPathW returned an incorrect temporary path\n");
ok(len == lstrlenW(buf), "returned length should be equal to the length of string\n");
/* The rest of the buffer must be zeroed */
slen = len + 1;
for(len++; len < sizeof(buf) / sizeof(buf[0]); len++)
for(len++; len < ARRAY_SIZE(buf); len++)
ok(buf[len] == '\0', "expected NULL at [%d], got 0x%x\n", len, buf[len]);
/* When the buffer is not long enough the length passed is zeroed */
for(len = 0; len < sizeof(buf) / sizeof(buf[0]); len++)
for(len = 0; len < ARRAY_SIZE(buf); len++)
buf[len] = 'a';
len = GetTempPathW(slen / 2, buf);
ok(len == slen || broken(len == slen + 1) /* read the big comment above */ ,
@ -1096,7 +1096,7 @@ static void test_GetTempPathW(char* tmp_dir)
for(len = 0; len < slen / 2; len++)
ok(buf[len] == '\0', "expected NULL at [%d], got 0x%x\n", len, buf[len]);
for(; len < sizeof(buf) / sizeof(buf[0]); len++)
for(; len < ARRAY_SIZE(buf); len++)
ok(buf[len] == 'a', "expected 'a' at [%d], got 0x%x\n", len, buf[len]);
/* bogus application from bug 38220 passes the count value in sizeof(buffer)
@ -1331,7 +1331,7 @@ static void test_GetLongPathNameW(void)
* files.
*/
name[0] = 0;
while (lstrlenW(name) < (sizeof(name)/sizeof(WCHAR) - 1))
while (lstrlenW(name) < (ARRAY_SIZE(name) - 1))
lstrcatW(name, letterX);
GetTempPathW(MAX_PATH, tempdir);
@ -1429,7 +1429,7 @@ static void test_GetShortPathNameW(void)
lstrcatW( path, test_path );
lstrcatW( path, backSlash );
short_path[0] = 0;
length = GetShortPathNameW( path, short_path, sizeof(short_path) / sizeof(*short_path) );
length = GetShortPathNameW( path, short_path, ARRAY_SIZE( short_path ));
ok( length, "GetShortPathNameW returned 0.\n" );
lstrcpyW( path, tmppath );
@ -1460,7 +1460,7 @@ static void test_GetShortPathNameW(void)
ok( file != INVALID_HANDLE_VALUE, "File was not created.\n" );
CloseHandle( file );
length = GetShortPathNameW( path, short_path, sizeof(short_path)/sizeof(*short_path) );
length = GetShortPathNameW( path, short_path, ARRAY_SIZE( short_path ));
ok( length, "GetShortPathNameW failed: %u.\n", GetLastError() );
ret = DeleteFileW( path );
@ -1752,7 +1752,7 @@ static void create_manifest_file(const char *filename, const char *manifest)
MultiByteToWideChar( CP_ACP, 0, filename, -1, path, MAX_PATH );
GetTempPathW(sizeof(manifest_path)/sizeof(WCHAR), manifest_path);
GetTempPathW(ARRAY_SIZE(manifest_path), manifest_path);
lstrcatW(manifest_path, path);
file = CreateFileW(manifest_path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
@ -1777,7 +1777,7 @@ static HANDLE test_create(const char *file)
HANDLE handle;
MultiByteToWideChar(CP_ACP, 0, file, -1, path, MAX_PATH);
GetTempPathW(sizeof(manifest_path)/sizeof(WCHAR), manifest_path);
GetTempPathW(ARRAY_SIZE(manifest_path), manifest_path);
lstrcatW(manifest_path, path);
memset(&actctx, 0, sizeof(ACTCTXW));
@ -1818,18 +1818,18 @@ static void test_SearchPathA(void)
return;
}
GetWindowsDirectoryA(pathA, sizeof(pathA)/sizeof(CHAR));
GetWindowsDirectoryA(pathA, ARRAY_SIZE(pathA));
/* NULL filename */
SetLastError(0xdeadbeef);
ret = pSearchPathA(pathA, NULL, NULL, sizeof(buffA)/sizeof(CHAR), buffA, &ptrA);
ret = pSearchPathA(pathA, NULL, NULL, ARRAY_SIZE(buffA), buffA, &ptrA);
ok(ret == 0, "Expected failure, got %d\n", ret);
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %x\n", GetLastError());
/* empty filename */
SetLastError(0xdeadbeef);
ret = pSearchPathA(pathA, fileA, NULL, sizeof(buffA)/sizeof(CHAR), buffA, &ptrA);
ret = pSearchPathA(pathA, fileA, NULL, ARRAY_SIZE(buffA), buffA, &ptrA);
ok(ret == 0, "Expected failure, got %d\n", ret);
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %x\n", GetLastError());
@ -1845,38 +1845,38 @@ static void test_SearchPathA(void)
delete_manifest_file("main.manifest");
/* search fails without active context */
ret = pSearchPathA(NULL, testdepA, NULL, sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, testdepA, NULL, ARRAY_SIZE(buffA), buffA, NULL);
ok(ret == 0, "got %d\n", ret);
ret = pSearchPathA(NULL, kernel32A, NULL, sizeof(path2A)/sizeof(CHAR), path2A, NULL);
ret = pSearchPathA(NULL, kernel32A, NULL, ARRAY_SIZE(path2A), path2A, NULL);
ok(ret && ret == strlen(path2A), "got %d\n", ret);
ret = pActivateActCtx(handle, &cookie);
ok(ret, "failed to activate context, %u\n", GetLastError());
/* works when activated */
ret = pSearchPathA(NULL, testdepA, NULL, sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, testdepA, NULL, ARRAY_SIZE(buffA), buffA, NULL);
ok(ret && ret == strlen(buffA), "got %d\n", ret);
ret = pSearchPathA(NULL, "testdep.dll", ".ext", sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, "testdep.dll", ".ext", ARRAY_SIZE(buffA), buffA, NULL);
ok(ret && ret == strlen(buffA), "got %d\n", ret);
ret = pSearchPathA(NULL, "testdep", ".dll", sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, "testdep", ".dll", ARRAY_SIZE(buffA), buffA, NULL);
ok(ret && ret == strlen(buffA), "got %d\n", ret);
ret = pSearchPathA(NULL, "testdep", ".ext", sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, "testdep", ".ext", ARRAY_SIZE(buffA), buffA, NULL);
ok(!ret, "got %d\n", ret);
/* name contains path */
ret = pSearchPathA(NULL, testdeprelA, NULL, sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, testdeprelA, NULL, ARRAY_SIZE(buffA), buffA, NULL);
ok(!ret, "got %d\n", ret);
/* fails with specified path that doesn't contain this file */
ret = pSearchPathA(pathA, testdepA, NULL, sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(pathA, testdepA, NULL, ARRAY_SIZE(buffA), buffA, NULL);
ok(!ret, "got %d\n", ret);
/* path is redirected for wellknown names too */
ret = pSearchPathA(NULL, kernel32A, NULL, sizeof(buffA)/sizeof(CHAR), buffA, NULL);
ret = pSearchPathA(NULL, kernel32A, NULL, ARRAY_SIZE(buffA), buffA, NULL);
ok(ret && ret == strlen(buffA), "got %d\n", ret);
ok(strcmp(buffA, path2A), "got wrong path %s, %s\n", buffA, path2A);
@ -1911,14 +1911,14 @@ static void test_SearchPathW(void)
if (0)
{
/* NULL filename, crashes on nt4 */
pSearchPathW(pathW, NULL, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, &ptrW);
pSearchPathW(pathW, NULL, NULL, ARRAY_SIZE(buffW), buffW, &ptrW);
}
GetWindowsDirectoryW(pathW, sizeof(pathW)/sizeof(WCHAR));
GetWindowsDirectoryW(pathW, ARRAY_SIZE(pathW));
/* empty filename */
SetLastError(0xdeadbeef);
ret = pSearchPathW(pathW, fileW, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, &ptrW);
ret = pSearchPathW(pathW, fileW, NULL, ARRAY_SIZE(buffW), buffW, &ptrW);
ok(ret == 0, "Expected failure, got %d\n", ret);
ok(GetLastError() == ERROR_INVALID_PARAMETER,
"Expected ERROR_INVALID_PARAMETER, got %x\n", GetLastError());
@ -1934,50 +1934,50 @@ if (0)
delete_manifest_file("main.manifest");
/* search fails without active context */
ret = pSearchPathW(NULL, testdepW, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, testdepW, NULL, ARRAY_SIZE(buffW), buffW, NULL);
ok(ret == 0, "got %d\n", ret);
ret = pSearchPathW(NULL, kernel32dllW, NULL, sizeof(path2W)/sizeof(WCHAR), path2W, NULL);
ret = pSearchPathW(NULL, kernel32dllW, NULL, ARRAY_SIZE(path2W), path2W, NULL);
ok(ret && ret == lstrlenW(path2W), "got %d\n", ret);
/* full path, name without 'dll' extension */
GetSystemDirectoryW(pathW, sizeof(pathW)/sizeof(WCHAR));
ret = pSearchPathW(pathW, kernel32W, NULL, sizeof(path2W)/sizeof(WCHAR), path2W, NULL);
GetSystemDirectoryW(pathW, ARRAY_SIZE(pathW));
ret = pSearchPathW(pathW, kernel32W, NULL, ARRAY_SIZE(path2W), path2W, NULL);
ok(ret == 0, "got %d\n", ret);
GetWindowsDirectoryW(pathW, sizeof(pathW)/sizeof(WCHAR));
GetWindowsDirectoryW(pathW, ARRAY_SIZE(pathW));
ret = pActivateActCtx(handle, &cookie);
ok(ret, "failed to activate context, %u\n", GetLastError());
/* works when activated */
ret = pSearchPathW(NULL, testdepW, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, testdepW, NULL, ARRAY_SIZE(buffW), buffW, NULL);
ok(ret && ret == lstrlenW(buffW), "got %d\n", ret);
ret = pSearchPathW(NULL, testdepW, extW, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, testdepW, extW, ARRAY_SIZE(buffW), buffW, NULL);
ok(ret && ret == lstrlenW(buffW), "got %d\n", ret);
ret = pSearchPathW(NULL, testdep1W, dllW, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, testdep1W, dllW, ARRAY_SIZE(buffW), buffW, NULL);
ok(ret && ret == lstrlenW(buffW), "got %d\n", ret);
ret = pSearchPathW(NULL, testdep1W, extW, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, testdep1W, extW, ARRAY_SIZE(buffW), buffW, NULL);
ok(!ret, "got %d\n", ret);
/* name contains path */
ret = pSearchPathW(NULL, testdeprelW, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, testdeprelW, NULL, ARRAY_SIZE(buffW), buffW, NULL);
ok(!ret, "got %d\n", ret);
/* fails with specified path that doesn't contain this file */
ret = pSearchPathW(pathW, testdepW, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(pathW, testdepW, NULL, ARRAY_SIZE(buffW), buffW, NULL);
ok(!ret, "got %d\n", ret);
/* path is redirected for wellknown names too, meaning it takes precedence over normal search order */
ret = pSearchPathW(NULL, kernel32dllW, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, kernel32dllW, NULL, ARRAY_SIZE(buffW), buffW, NULL);
ok(ret && ret == lstrlenW(buffW), "got %d\n", ret);
ok(lstrcmpW(buffW, path2W), "got wrong path %s, %s\n", wine_dbgstr_w(buffW), wine_dbgstr_w(path2W));
/* path is built using on manifest file name */
ret = pSearchPathW(NULL, ole32W, NULL, sizeof(buffW)/sizeof(WCHAR), buffW, NULL);
ret = pSearchPathW(NULL, ole32W, NULL, ARRAY_SIZE(buffW), buffW, NULL);
ok(ret && ret == lstrlenW(buffW), "got %d\n", ret);
ret = pDeactivateActCtx(0, cookie);
@ -2010,7 +2010,7 @@ static void test_GetFullPathNameA(void)
{"", MAX_PATH, output, &filepart},
};
for (i = 0; i < sizeof(invalid_parameters)/sizeof(invalid_parameters[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_parameters); i++)
{
SetLastError(0xdeadbeef);
strcpy(output, "deadbeef");
@ -2040,7 +2040,7 @@ static void test_GetFullPathNameA(void)
{ "c:\\\x83\x8f\x83\x43\x83\x93\\wine.c", "wine.c" },
{ "c:\\demo\\\x97\xa0\x95\x5c", "\x97\xa0\x95\x5c" }
};
for (i = 0; i < sizeof(testset)/sizeof(testset[0]); i++) {
for (i = 0; i < ARRAY_SIZE(testset); i++) {
ret = GetFullPathNameA(testset[i].input, sizeof(output),
output, &filepart);
ok(ret, "[%d] GetFullPathName error %u\n", i, GetLastError());
@ -2088,7 +2088,7 @@ static void test_GetFullPathNameW(void)
return;
}
for (i = 0; i < sizeof(invalid_parameters)/sizeof(invalid_parameters[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_parameters); i++)
{
SetLastError(0xdeadbeef);
lstrcpyW(output, deadbeefW);
@ -2261,7 +2261,7 @@ static void test_CheckNameLegalDOS8Dot3(void)
br = pCheckNameLegalDOS8Dot3A("testtest.txt", NULL, 0, NULL, NULL);
ok(br == FALSE, "CheckNameLegalDOS8Dot3A should have failed\n");
for(i = 0; i < sizeof(cases)/sizeof(*cases); ++i){
for(i = 0; i < ARRAY_SIZE(cases); ++i){
br = pCheckNameLegalDOS8Dot3W(cases[i].name, NULL, 0, &has_space, &is_legal);
ok(br == TRUE, "CheckNameLegalDOS8Dot3W failed for %s\n", wine_dbgstr_w(cases[i].name));
ok(is_legal == cases[i].should_be_legal, "Got wrong legality for %s\n", wine_dbgstr_w(cases[i].name));

View File

@ -2381,9 +2381,8 @@ static void test_NamedPipeHandleState(void)
* on a local pipe.
*/
SetLastError(0xdeadbeef);
ret = GetNamedPipeHandleStateA(server, &state, &instances,
&maxCollectionCount, &collectDataTimeout, userName,
sizeof(userName) / sizeof(userName[0]));
ret = GetNamedPipeHandleStateA(server, &state, &instances, &maxCollectionCount,
&collectDataTimeout, userName, ARRAY_SIZE(userName));
todo_wine
ok(!ret && GetLastError() == ERROR_INVALID_PARAMETER,
"expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());

View File

@ -423,7 +423,7 @@ static void doChild(const char* file, const char* option)
childPrintf(hFile, "[Misc]\n");
if (GetCurrentDirectoryA(sizeof(bufA), bufA))
childPrintf(hFile, "CurrDirA=%s\n", encodeA(bufA));
if (GetCurrentDirectoryW(sizeof(bufW) / sizeof(bufW[0]), bufW))
if (GetCurrentDirectoryW(ARRAY_SIZE(bufW), bufW))
childPrintf(hFile, "CurrDirW=%s\n", encodeW(bufW));
childPrintf(hFile, "\n");
@ -1987,14 +1987,14 @@ static void test_QueryFullProcessImageNameW(void)
ok(GetModuleFileNameW(NULL, module_name, 1024), "GetModuleFileNameW(NULL, ...) failed\n");
/* GetCurrentProcess pseudo-handle */
size = sizeof(buf) / sizeof(buf[0]);
size = ARRAY_SIZE(buf);
expect_eq_d(TRUE, pQueryFullProcessImageNameW(GetCurrentProcess(), 0, buf, &size));
expect_eq_d(lstrlenW(buf), size);
expect_eq_ws_i(buf, module_name);
hSelf = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, GetCurrentProcessId());
/* Real handle */
size = sizeof(buf) / sizeof(buf[0]);
size = ARRAY_SIZE(buf);
expect_eq_d(TRUE, pQueryFullProcessImageNameW(hSelf, 0, buf, &size));
expect_eq_d(lstrlenW(buf), size);
expect_eq_ws_i(buf, module_name);
@ -2032,7 +2032,7 @@ static void test_QueryFullProcessImageNameW(void)
/* native path */
size = sizeof(buf) / sizeof(buf[0]);
size = ARRAY_SIZE(buf);
expect_eq_d(TRUE, pQueryFullProcessImageNameW(hSelf, PROCESS_NAME_NATIVE, buf, &size));
expect_eq_d(lstrlenW(buf), size);
ok(buf[0] == '\\', "NT path should begin with '\\'\n");
@ -2040,7 +2040,7 @@ static void test_QueryFullProcessImageNameW(void)
module_name[2] = '\0';
*device = '\0';
size = QueryDosDeviceW(module_name, device, sizeof(device)/sizeof(device[0]));
size = QueryDosDeviceW(module_name, device, ARRAY_SIZE(device));
ok(size, "QueryDosDeviceW failed: le=%u\n", GetLastError());
len = lstrlenW(device);
ok(size >= len+2, "expected %d to be greater than %d+2 = strlen(%s)\n", size, len, wine_dbgstr_w(device));

View File

@ -71,7 +71,7 @@ static void test_profile_int(void)
{ SECTION, KEY, "B4294967297", TESTFILE, -1, 0 , 0},
{ SECTION, KEY, "B4294967297", TESTFILE, 1, 0 , 0},
};
int i, num_test = (sizeof(profileInt)/sizeof(struct _profileInt));
int i, num_test = ARRAY_SIZE(profileInt);
UINT res;
DeleteFileA( TESTFILE);
@ -144,8 +144,7 @@ static void test_profile_string(void)
CloseHandle( h);
/* works only in unicode, ascii crashes */
ret=GetPrivateProfileStringW(emptyW, keyW, emptyW, bufW,
sizeof(bufW)/sizeof(bufW[0]), TESTFILE2W);
ret=GetPrivateProfileStringW(emptyW, keyW, emptyW, bufW, ARRAY_SIZE(bufW), TESTFILE2W);
todo_wine
ok(ret == 13, "expected 13, got %u\n", ret);
todo_wine
@ -153,8 +152,7 @@ static void test_profile_string(void)
wine_dbgstr_w(valsectionW), wine_dbgstr_w(bufW) );
/* works only in unicode, ascii crashes */
ret=GetPrivateProfileStringW(sW, emptyW, emptyW, bufW,
sizeof(bufW)/sizeof(bufW[0]), TESTFILE2W);
ret=GetPrivateProfileStringW(sW, emptyW, emptyW, bufW, ARRAY_SIZE(bufW), TESTFILE2W);
todo_wine
ok(ret == 10, "expected 10, got %u\n", ret);
todo_wine
@ -394,7 +392,7 @@ static void test_profile_existing(void)
HANDLE h = 0;
char buffer[MAX_PATH];
for (i=0; i < sizeof(pe)/sizeof(pe[0]); i++)
for (i=0; i < ARRAY_SIZE(pe); i++)
{
h = CreateFileA(testfile1, pe[i].dwDesiredAccess, pe[i].dwShareMode, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
@ -434,7 +432,7 @@ static void test_profile_existing(void)
ok( WriteFile( h, buffer, strlen(buffer), &size, NULL ), "failed to write\n" );
CloseHandle( h );
for (i=0; i < sizeof(pe)/sizeof(pe[0]); i++)
for (i=0; i < ARRAY_SIZE(pe); i++)
{
h = CreateFileA(testfile2, pe[i].dwDesiredAccess, pe[i].dwShareMode, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

View File

@ -478,7 +478,7 @@ START_TEST(resource)
update_empty_exe();
for(i=0; i < sizeof( sec_variants ) / sizeof( sec_variants[0] ); i++)
for(i=0; i < ARRAY_SIZE(sec_variants); i++)
{
const struct _sec_variants *sec = &sec_variants[i];
build_exe( &sec->build );

View File

@ -1933,7 +1933,7 @@ static void test_thread_info(void)
return;
}
for (i = 0; i < sizeof(info_size)/sizeof(info_size[0]); i++)
for (i = 0; i < ARRAY_SIZE(info_size); i++)
{
memset(buf, 0, sizeof(buf));

View File

@ -606,7 +606,7 @@ static void test_VerifyVersionInfo(void)
}
}
for (i = 0; i < sizeof(verify_version_tests)/sizeof(verify_version_tests[0]); i++)
for (i = 0; i < ARRAY_SIZE(verify_version_tests); i++)
{
struct verify_version_test *test = &verify_version_tests[i];
DWORD srcinfo = test->srcinfo;

View File

@ -1716,7 +1716,7 @@ static void test_CreateFileMapping(void)
file[2] = CreateFileA( path, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0 );
ok( file[2] != INVALID_HANDLE_VALUE, "CreateFile error %u\n", GetLastError() );
for (i = 0; i < sizeof(sec_flag_tests) / sizeof(sec_flag_tests[0]); i++)
for (i = 0; i < ARRAY_SIZE(sec_flag_tests); i++)
{
DWORD flags = sec_flag_tests[i].flags;
DWORD perm = sec_flag_tests[i].file == 2 ? PAGE_READONLY : PAGE_READWRITE;
@ -3333,7 +3333,7 @@ static void test_VirtualProtect(void)
ok(status == STATUS_SUCCESS, "NtProtectVirtualMemory should succeed, got %08x\n", status);
ok(old_prot == PAGE_NOACCESS, "got %#x != expected PAGE_NOACCESS\n", old_prot);
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
ret = VirtualQuery(base, &info, sizeof(info));
@ -3499,7 +3499,7 @@ static void test_VirtualAlloc_protection(void)
DWORD ret, i;
MEMORY_BASIC_INFORMATION info;
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
base = VirtualAlloc(0, si.dwPageSize, MEM_COMMIT, td[i].prot);
@ -3602,7 +3602,7 @@ static void test_CreateFileMapping_protection(void)
SetFilePointer(hfile, si.dwPageSize, NULL, FILE_BEGIN);
SetEndOfFile(hfile);
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
hmap = CreateFileMappingW(hfile, NULL, td[i].prot | SEC_COMMIT, 0, si.dwPageSize, NULL);
@ -3674,7 +3674,7 @@ static void test_CreateFileMapping_protection(void)
hmap = CreateFileMappingW(hfile, NULL, alloc_prot, 0, si.dwPageSize, NULL);
ok(hmap != 0, "%d: CreateFileMapping error %d\n", i, GetLastError());
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
SetLastError(0xdeadbeef);
base = MapViewOfFile(hmap, FILE_MAP_READ | FILE_MAP_WRITE | (page_exec_supported ? FILE_MAP_EXECUTE : 0), 0, 0, 0);
@ -3941,7 +3941,7 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags )
BOOL anon_mapping = (hfile == INVALID_HANDLE_VALUE);
trace( "testing %s mapping flags %08x\n", anon_mapping ? "anonymous" : "file", sec_flags );
for (i = 0; i < sizeof(page_prot)/sizeof(page_prot[0]); i++)
for (i = 0; i < ARRAY_SIZE(page_prot); i++)
{
SetLastError(0xdeadbeef);
hmap = CreateFileMappingW(hfile, NULL, page_prot[i] | sec_flags, 0, si.dwPageSize, NULL);
@ -3998,7 +3998,7 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags )
ok(hmap != 0, "%d: CreateFileMapping(%04x) error %d\n", i, page_prot[i], GetLastError());
for (j = 0; j < sizeof(view)/sizeof(view[0]); j++)
for (j = 0; j < ARRAY_SIZE(view); j++)
{
nt_base = map_view_of_file(hmap, view[j].access);
if (nt_base)
@ -4085,7 +4085,7 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags )
prev_prot = info.Protect;
alloc_prot = info.AllocationProtect;
for (k = 0; k < sizeof(page_prot)/sizeof(page_prot[0]); k++)
for (k = 0; k < ARRAY_SIZE(page_prot); k++)
{
/*trace("map %#x, view %#x, requested prot %#x\n", page_prot[i], view[j].prot, page_prot[k]);*/
DWORD actual_prot = (sec_flags & SEC_IMAGE) ? map_prot_no_write(page_prot[k]) : page_prot[k];
@ -4118,7 +4118,7 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags )
}
}
for (k = 0; k < sizeof(page_prot)/sizeof(page_prot[0]); k++)
for (k = 0; k < ARRAY_SIZE(page_prot); k++)
{
/*trace("map %#x, view %#x, requested prot %#x\n", page_prot[i], view[j].prot, page_prot[k]);*/
SetLastError(0xdeadbeef);
@ -4172,7 +4172,7 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags )
prev_prot = info.Protect;
alloc_prot = info.AllocationProtect;
for (k = 0; k < sizeof(page_prot)/sizeof(page_prot[0]); k++)
for (k = 0; k < ARRAY_SIZE(page_prot); k++)
{
DWORD actual_prot = (sec_flags & SEC_IMAGE) ? map_prot_no_write(page_prot[k]) : page_prot[k];
SetLastError(0xdeadbeef);

View File

@ -251,7 +251,7 @@ static void test_GetVolumeNameForVolumeMountPointW(void)
{
BOOL ret;
WCHAR volume[MAX_PATH], path[] = {'c',':','\\',0};
DWORD len = sizeof(volume) / sizeof(WCHAR);
DWORD len = ARRAY_SIZE(volume);
/* not present before w2k */
if (!pGetVolumeNameForVolumeMountPointW) {
@ -795,7 +795,7 @@ static void test_GetVolumePathNameA(void)
ret = SetEnvironmentVariableA( "CurrentDrive", cwd );
ok( ret, "Failed to set an environment variable for the current working drive.\n" );
for (i=0; i<sizeof(test_paths)/sizeof(test_paths[0]); i++)
for (i=0; i<ARRAY_SIZE(test_paths); i++)
{
BOOL broken_ret = test_paths[i].broken_error == NO_ERROR;
char *output = (test_paths[i].path_name != NULL ? volume_path : NULL);