oleaut32/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-18 00:09:30 +02:00 committed by Alexandre Julliard
parent 0c8e555e4c
commit 050edeb420
9 changed files with 75 additions and 77 deletions

View File

@ -420,7 +420,7 @@ static void test_font_events_disp(void)
hr = IFont_QueryInterface(pFont, &IID_IFontDisp, (void **)&pFontDisp);
EXPECT_HR(hr, S_OK);
for (i = 0; i < sizeof(font_dispids)/sizeof(font_dispids[0]); i++)
for (i = 0; i < ARRAY_SIZE(font_dispids); i++)
{
switch (font_dispids[i].dispid)
{

View File

@ -501,7 +501,7 @@ static void test_Invoke(void)
/* DISPID_PICT_RENDER */
hdc = create_render_dc();
for (i = 0; i < sizeof(args)/sizeof(args[0]); i++)
for (i = 0; i < ARRAY_SIZE(args); i++)
V_VT(&args[i]) = VT_I4;
V_I4(&args[0]) = 0;
@ -679,7 +679,7 @@ static HRESULT picture_render(IPicture *iface, HDC hdc, LONG x, LONG y, LONG cx,
IPicture_QueryInterface(iface, &IID_IDispatch, (void**)&disp);
/* This is broken on 64 bits - accepted pointer argument type is still VT_I4 */
for (i = 0; i < sizeof(args)/sizeof(args[0]); i++)
for (i = 0; i < ARRAY_SIZE(args); i++)
V_VT(&args[i]) = VT_I4;
/* pack arguments and call */
@ -884,7 +884,7 @@ static void test_OleLoadPicturePath(void)
{emptyW, &IID_IPicture, NULL},
};
for (i = 0; i < sizeof(invalid_parameters)/sizeof(invalid_parameters[0]); i++)
for (i = 0; i < ARRAY_SIZE(invalid_parameters); i++)
{
pic = (IPicture *)0xdeadbeef;
hres = OleLoadPicturePath(invalid_parameters[i].szURLorPath, NULL, 0, 0,
@ -924,7 +924,7 @@ static void test_OleLoadPicturePath(void)
WriteFile(file, bmpimage, sizeof(bmpimage), &size, NULL);
CloseHandle(file);
MultiByteToWideChar(CP_ACP, 0, temp_file, -1, temp_fileW + 8, sizeof(temp_fileW)/sizeof(WCHAR) - 8);
MultiByteToWideChar(CP_ACP, 0, temp_file, -1, temp_fileW + 8, ARRAY_SIZE(temp_fileW) - 8);
/* Try a normal DOS path. */
hres = OleLoadPicturePath(temp_fileW + 8, NULL, 0, 0, &IID_IPicture, (void **)&pic);

View File

@ -567,7 +567,7 @@ static void test_safearray(void)
hres = SafeArrayDestroy(a);
ok(hres == S_OK,"SAD failed with hres %x\n", hres);
for (i=0;i<sizeof(vttypes)/sizeof(vttypes[0]);i++) {
for (i = 0; i < ARRAY_SIZE(vttypes); i++) {
if ((i == VT_I8 || i == VT_UI8) && has_i8)
{
vttypes[i].elemsize = sizeof(LONG64);
@ -704,7 +704,7 @@ static void test_safearray(void)
if (!pSafeArrayAllocDescriptorEx)
return;
for (i = 0; i < sizeof(vttypes)/sizeof(vttypes[0]); i++) {
for (i = 0; i < ARRAY_SIZE(vttypes); i++) {
a = NULL;
hres = pSafeArrayAllocDescriptorEx(vttypes[i].vt,1,&a);
ok(hres == S_OK, "SafeArrayAllocDescriptorEx gave hres 0x%x\n", hres);
@ -1457,7 +1457,7 @@ static void test_SafeArrayCopyData(void)
ok(sacopy != NULL, "Copy test couldn't create copy array\n");
ok(sacopy->fFeatures == FADF_HAVEVARTYPE, "0x%04x\n", sacopy->fFeatures);
for (i = 0; i < sizeof(ignored_copy_features)/sizeof(USHORT); i++)
for (i = 0; i < ARRAY_SIZE(ignored_copy_features); i++)
{
USHORT feature = ignored_copy_features[i];
USHORT orig = sacopy->fFeatures;
@ -1765,7 +1765,7 @@ static void test_SafeArrayCopy(void)
ok(sa->fFeatures == 0, "got src features 0x%04x\n", sa->fFeatures);
sa->cbElements = 16;
for (i = 0; i < sizeof(ignored_copy_features)/sizeof(USHORT); i++)
for (i = 0; i < ARRAY_SIZE(ignored_copy_features); i++)
{
USHORT feature = ignored_copy_features[i];

View File

@ -725,7 +725,7 @@ static HRESULT WINAPI Widget_VarArg(
static BOOL mystruct_uint_ordered(MYSTRUCT *mystruct)
{
int i;
for (i = 0; i < sizeof(mystruct->uarr)/sizeof(mystruct->uarr[0]); i++)
for (i = 0; i < ARRAY_SIZE(mystruct->uarr); i++)
if (mystruct->uarr[i] != i)
return FALSE;
return TRUE;

View File

@ -627,7 +627,7 @@ static void test_CreateDispTypeInfo(void)
OLECHAR *name = func1;
ifdata.pmethdata = methdata;
ifdata.cMembers = sizeof(methdata) / sizeof(methdata[0]);
ifdata.cMembers = ARRAY_SIZE(methdata);
methdata[0].szName = SysAllocString(func1);
methdata[0].ppdata = parms1;
@ -1350,7 +1350,7 @@ static LSTATUS myRegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey, REGSAM view)
dwMaxSubkeyLen++;
dwMaxValueLen++;
dwMaxLen = max(dwMaxSubkeyLen, dwMaxValueLen);
if (dwMaxLen > sizeof(szNameBuf)/sizeof(WCHAR))
if (dwMaxLen > ARRAY_SIZE(szNameBuf))
{
/* Name too big: alloc a buffer for it */
if (!(lpszName = HeapAlloc( GetProcessHeap(), 0, dwMaxLen*sizeof(WCHAR))))
@ -1483,7 +1483,7 @@ static void test_QueryPathOfRegTypeLib(DWORD arch)
if (!do_typelib_reg_key(&uid, 5, 37, arch, base, FALSE)) return;
if (arch == 64 && !do_typelib_reg_key(&uid, 5, 37, 32, wrongW, FALSE)) return;
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
for (i = 0; i < ARRAY_SIZE(td); i++)
{
ret = QueryPathOfRegTypeLib(&uid, td[i].maj, td[i].min, LOCALE_NEUTRAL, &path);
ok(ret == td[i].ret, "QueryPathOfRegTypeLib(%u.%u) returned %08x\n", td[i].maj, td[i].min, ret);
@ -2309,7 +2309,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
SysFreeString(V_BSTR(&paramdescex.varDefaultValue));
WideCharToMultiByte(CP_ACP, 0, defaultW, -1, nameA, sizeof(nameA), NULL, NULL);
MultiByteToWideChar(CP_ACP, 0, nameA, -1, nameW, sizeof(nameW)/sizeof(nameW[0]));
MultiByteToWideChar(CP_ACP, 0, nameA, -1, nameW, ARRAY_SIZE(nameW));
hres = ITypeInfo2_GetFuncDesc(ti2, 3, &pfuncdesc);
ok(hres == S_OK, "got %08x\n", hres);
@ -3041,7 +3041,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
ok(hres == S_OK, "got: %08x\n", hres);
ok(cnames == 0, "got: %u\n", cnames);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, sizeof(names) / sizeof(*names), &cnames);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, ARRAY_SIZE(names), &cnames);
ok(hres == S_OK, "got: %08x\n", hres);
ok(cnames == 1, "got: %u\n", cnames);
ok(!memcmp(names[0], func1W, sizeof(func1W)), "got names[0]: %s\n", wine_dbgstr_w(names[0]));
@ -3145,7 +3145,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
SysFreeString(name);
SysFreeString(helpfile);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, sizeof(names) / sizeof(*names), &cnames);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, ARRAY_SIZE(names), &cnames);
ok(hres == S_OK, "got: %08x\n", hres);
ok(cnames == 3, "got: %u\n", cnames);
ok(!memcmp(names[0], func2W, sizeof(func2W)), "got names[0]: %s\n", wine_dbgstr_w(names[0]));
@ -3375,7 +3375,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
SysFreeString(name);
SysFreeString(helpfile);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, sizeof(names) / sizeof(*names), &cnames);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, ARRAY_SIZE(names), &cnames);
ok(hres == S_OK, "got: %08x\n", hres);
ok(cnames == 1, "got: %u\n", cnames);
ok(!memcmp(names[0], func1W, sizeof(func1W)), "got names[0]: %s\n", wine_dbgstr_w(names[0]));
@ -3474,7 +3474,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
SysFreeString(name);
SysFreeString(helpfile);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, sizeof(names) / sizeof(*names), &cnames);
hres = ITypeInfo_GetNames(ti, pfuncdesc->memid, names, ARRAY_SIZE(names), &cnames);
ok(hres == S_OK, "got: %08x\n", hres);
ok(cnames == 1, "got: %u\n", cnames);
ok(!memcmp(names[0], func1W, sizeof(func1W)), "got names[0]: %s\n", wine_dbgstr_w(names[0]));
@ -4701,7 +4701,7 @@ static void test_dump_typelib(const char *name)
{
WCHAR wszName[MAX_PATH];
ITypeLib *typelib;
int ticount = sizeof(info)/sizeof(info[0]);
int ticount = ARRAY_SIZE(info);
int iface, func;
MultiByteToWideChar(CP_ACP, 0, name, -1, wszName, MAX_PATH);
@ -4739,7 +4739,7 @@ static void test_dump_typelib(const char *name)
HRESULT hr;
GUID guid;
MultiByteToWideChar(CP_ACP, 0, ti->uuid, -1, guidW, sizeof(guidW)/sizeof(guidW[0]));
MultiByteToWideChar(CP_ACP, 0, ti->uuid, -1, guidW, ARRAY_SIZE(guidW));
IIDFromString(guidW, &guid);
expect_guid(&guid, &typeattr->guid);
@ -5002,7 +5002,7 @@ static void test_register_typelib(BOOL system_registration)
}
StringFromGUID2(&attr->guid, uuidW, sizeof(uuidW) / sizeof(uuidW[0]));
StringFromGUID2(&attr->guid, uuidW, ARRAY_SIZE(uuidW));
WideCharToMultiByte(CP_ACP, 0, uuidW, -1, uuid, sizeof(uuid), NULL, NULL);
sprintf(key_name, "Interface\\%s", uuid);
@ -5050,7 +5050,7 @@ static void test_register_typelib(BOOL system_registration)
if((attr->typekind == TKIND_INTERFACE && (attr->wTypeFlags & TYPEFLAG_FOLEAUTOMATION)) ||
attr->typekind == TKIND_DISPATCH)
{
StringFromGUID2(&attr->guid, uuidW, sizeof(uuidW) / sizeof(uuidW[0]));
StringFromGUID2(&attr->guid, uuidW, ARRAY_SIZE(uuidW));
WideCharToMultiByte(CP_ACP, 0, uuidW, -1, uuid, sizeof(uuid), NULL, NULL);
sprintf(key_name, "Interface\\%s", uuid);
@ -6204,7 +6204,7 @@ static void test_stub(void)
WCHAR guidW[40];
REGSAM opposite = side ^ (KEY_WOW64_64KEY | KEY_WOW64_32KEY);
StringFromGUID2(&interfaceguid, guidW, sizeof(guidW)/sizeof(guidW[0]));
StringFromGUID2(&interfaceguid, guidW, ARRAY_SIZE(guidW));
/* Delete the opposite interface key */
lr = RegOpenKeyExA(HKEY_CLASSES_ROOT, "Interface", 0, KEY_READ | opposite, &hkey);

View File

@ -416,7 +416,7 @@ static void test_marshal_LPSAFEARRAY(void)
/* Test an array of VT_BSTR */
sab[0].lLbound = 3;
sab[0].cElements = sizeof(values) / sizeof(values[0]);
sab[0].cElements = ARRAY_SIZE(values);
lpsa = SafeArrayCreate(VT_BSTR, 1, sab);
expected_bstr_size = 0;
@ -463,7 +463,7 @@ static void test_marshal_LPSAFEARRAY(void)
ok(next - buffer == expected, "Marshaled %u bytes, expected %u\n", (ULONG) (next - buffer), expected);
ok(lpsa2 != NULL, "LPSAFEARRAY didn't unmarshal, result %p\n", next);
for (i = 0; i < sizeof(values) / sizeof(values[0]); i++)
for (i = 0; i < ARRAY_SIZE(values); i++)
{
BSTR gotvalue = NULL;

View File

@ -80,7 +80,7 @@ static void test_VarFormatNumber(void)
CHECKPTR(VarFormatNumber);
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, sizeof(buff)/sizeof(char));
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, ARRAY_SIZE(buff));
if (buff[0] != '.' || buff[1])
{
skip("Skipping VarFormatNumber tests as decimal separator is '%s'\n", buff);
@ -127,7 +127,7 @@ static const char *szVarFmtFail = "VT %d|0x%04x Format %s: expected 0x%08x, '%s'
#define VARFMT(vt,v,val,fmt,ret,str) do { \
out = NULL; \
V_VT(&in) = (vt); v(&in) = val; \
if (fmt) MultiByteToWideChar(CP_ACP, 0, fmt, -1, buffW, sizeof(buffW)/sizeof(WCHAR)); \
if (fmt) MultiByteToWideChar(CP_ACP, 0, fmt, -1, buffW, ARRAY_SIZE(buffW)); \
hres = pVarFormat(&in,fmt ? buffW : NULL,fd,fw,flags,&out); \
if (SUCCEEDED(hres)) WideCharToMultiByte(CP_ACP, 0, out, -1, buff, sizeof(buff),0,0); \
else buff[0] = '\0'; \
@ -224,7 +224,7 @@ static const FMTDATERES VarFormat_namedtime_results[] =
};
#define VNUMFMT(vt,v) \
for (i = 0; i < sizeof(VarFormat_results)/sizeof(FMTRES); i++) \
for (i = 0; i < ARRAY_SIZE(VarFormat_results); i++) \
{ \
VARFMT(vt,v,1,VarFormat_results[i].fmt,S_OK,VarFormat_results[i].one_res); \
VARFMT(vt,v,0,VarFormat_results[i].fmt,S_OK,VarFormat_results[i].zero_res); \
@ -256,13 +256,13 @@ static void test_VarFormat(void)
skip("Skipping VarFormat tests for non English language\n");
return;
}
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, sizeof(buff)/sizeof(char));
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, ARRAY_SIZE(buff));
if (buff[0] != '.' || buff[1])
{
skip("Skipping VarFormat tests as decimal separator is '%s'\n", buff);
return;
}
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_IDIGITS, buff, sizeof(buff)/sizeof(char));
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_IDIGITS, buff, ARRAY_SIZE(buff));
if (buff[0] != '2' || buff[1])
{
skip("Skipping VarFormat tests as decimal places is '%s'\n", buff);
@ -296,7 +296,7 @@ static void test_VarFormat(void)
VARFMT(VT_BOOL|VT_BYREF,V_BOOLREF,&bFalse,"True/False",S_OK,"False");
/* Dates */
for (i = 0; i < sizeof(VarFormat_date_results)/sizeof(FMTDATERES); i++)
for (i = 0; i < ARRAY_SIZE(VarFormat_date_results); i++)
{
if (i < 7)
fd = i + 1; /* Test first day */
@ -308,14 +308,14 @@ static void test_VarFormat(void)
}
/* Named time formats */
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, buff, sizeof(buff)/sizeof(char));
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_STIMEFORMAT, buff, ARRAY_SIZE(buff));
if (strcmp(buff, "h:mm:ss tt"))
{
skip("Skipping named time tests as time format is '%s'\n", buff);
}
else
{
for (i = 0; i < sizeof(VarFormat_namedtime_results)/sizeof(FMTDATERES); i++)
for (i = 0; i < ARRAY_SIZE(VarFormat_namedtime_results); i++)
{
fd = 0;
VARFMT(VT_DATE,V_DATE,VarFormat_namedtime_results[i].val,

View File

@ -537,7 +537,7 @@ static const char *vtstr(int x)
return "VT_BSTR_BLOB/VT_ILLEGALMASKED/VT_TYPEMASK";
default:
vtstr_current %= sizeof(vtstr_buffer)/sizeof(*vtstr_buffer);
vtstr_current %= ARRAY_SIZE(vtstr_buffer);
sprintf(vtstr_buffer[vtstr_current], "unknown variant type %d", x);
return vtstr_buffer[vtstr_current++];
}
@ -545,7 +545,7 @@ static const char *vtstr(int x)
static const char *variantstr( const VARIANT *var )
{
vtstr_current %= sizeof(vtstr_buffer)/sizeof(*vtstr_buffer);
vtstr_current %= ARRAY_SIZE(vtstr_buffer);
switch(V_VT(var))
{
case VT_I1:
@ -664,7 +664,7 @@ static void test_var_call2( int line, HRESULT (WINAPI *func)(LPVARIANT,LPVARIANT
static int strcmp_wa(const WCHAR *strw, const char *stra)
{
WCHAR buf[512];
MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, sizeof(buf)/sizeof(buf[0]));
MultiByteToWideChar(CP_ACP, 0, stra, -1, buf, ARRAY_SIZE(buf));
return lstrcmpW(strw, buf);
}
@ -792,7 +792,7 @@ static void test_VariantClear(void)
* Also demonstrates that null pointers in 'v' are not dereferenced.
* Individual variant tests should test VariantClear() with non-NULL values.
*/
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE vt;
@ -921,7 +921,7 @@ static void test_VariantCopy(void)
*/
/* vSrc == vDst */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
{
@ -949,7 +949,7 @@ static void test_VariantCopy(void)
memset(&vSrc, 0, sizeof(vSrc));
V_VT(&vSrc) = VT_UI1;
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
{
@ -975,7 +975,7 @@ static void test_VariantCopy(void)
}
/* Test that VariantClear() checks vSrc for validity before copying */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
{
@ -1079,7 +1079,7 @@ static void test_VariantCopyInd(void)
memset(buffer, 0, sizeof(buffer));
/* vSrc == vDst */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
if (ExtraFlags[i] & VT_ARRAY)
continue; /* Native crashes on NULL safearray */
@ -1130,7 +1130,7 @@ static void test_VariantCopyInd(void)
V_VT(&vSrc) = VT_UI1|VT_BYREF;
V_BYREF(&vSrc) = &buffer;
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
for (vt = 0; vt <= VT_BSTR_BLOB; vt++)
{
@ -1156,7 +1156,7 @@ static void test_VariantCopyInd(void)
}
/* bad src */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
if (ExtraFlags[i] & VT_ARRAY)
continue; /* Native crashes on NULL safearray */
@ -1276,7 +1276,7 @@ static HRESULT convert_str( const char *str, INT dig, ULONG flags,
NUMPARSE *np, BYTE rgb[128], LCID lcid )
{
OLECHAR buff[128];
MultiByteToWideChar( CP_ACP,0, str, -1, buff, sizeof(buff)/sizeof(WCHAR) );
MultiByteToWideChar( CP_ACP,0, str, -1, buff, ARRAY_SIZE( buff ));
memset( rgb, FAILDIG, 128 );
memset( np, 255, sizeof(*np) );
np->cDig = dig;
@ -2291,7 +2291,7 @@ static void test_VarAbs(void)
/* Test all possible V_VT values.
*/
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE vt;
@ -2354,7 +2354,7 @@ static void test_VarAbs(void)
hres = pVarAbs(&v,&vDst);
ok(hres == S_OK && V_VT(&vDst) == VT_CY && V_CY(&vDst).int64 == 10000,
"VarAbs(CY): expected 0x0 got 0x%X\n", hres);
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, sizeof(buff)/sizeof(char));
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, ARRAY_SIZE(buff));
if (buff[1])
{
trace("Skipping VarAbs(BSTR) as decimal separator is '%s'\n", buff);
@ -2392,7 +2392,7 @@ static void test_VarNot(void)
CHECKPTR(VarNot);
/* Test all possible V_VT values */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE vt;
@ -2523,7 +2523,7 @@ static void test_VarSub(void)
VariantInit(&result);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -3254,7 +3254,7 @@ static void test_VarFix(void)
CHECKPTR(VarFix);
/* Test all possible V_VT values */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE vt;
@ -3369,7 +3369,7 @@ static void test_VarInt(void)
CHECKPTR(VarInt);
/* Test all possible V_VT values */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE vt;
@ -3490,7 +3490,7 @@ static void test_VarNeg(void)
* native version. This at least ensures (as with all tests here) that
* we will notice if/when new vtypes/flags are added in native.
*/
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE vt;
@ -3677,7 +3677,7 @@ static void test_VarRound(void)
VARROUND(DATE,-1.449,1,DATE,-1.4);
/* replace the decimal separator */
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, sizeof(buff)/sizeof(char));
GetLocaleInfoA(LOCALE_USER_DEFAULT, LOCALE_SDECIMAL, buff, ARRAY_SIZE(buff));
if (!buff[1]) {
szNumMin[2] = buff[0];
szNum[1] = buff[0];
@ -3721,7 +3721,7 @@ static void test_VarRound(void)
"VarRound: expected 0x0,%d got 0x%X,%d\n", VT_NULL, hres, V_VT(&vDst));
/* VT_DECIMAL */
for (i = 0; i < sizeof(decimal_round_data)/sizeof(struct decimal_round_t); i++)
for (i = 0; i < ARRAY_SIZE(decimal_round_data); i++)
{
const struct decimal_round_t *ptr = &decimal_round_data[i];
DECIMAL *pdec;
@ -3786,7 +3786,7 @@ static void test_VarXor(void)
CHECKPTR(VarXor);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -4520,7 +4520,7 @@ static void test_VarOr(void)
CHECKPTR(VarOr);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -5252,7 +5252,7 @@ static void test_VarEqv(void)
CHECKPTR(VarEqv);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -5396,7 +5396,7 @@ static void test_VarMul(void)
rbstr = SysAllocString(sz12);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -5567,7 +5567,7 @@ static void test_VarAdd(void)
rbstr = SysAllocString(sz12);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -6231,7 +6231,7 @@ static void test_VarAnd(void)
false_str = SysAllocString(szFalse);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -6947,7 +6947,7 @@ static void test_VarCmp(void)
bstr1few = SysAllocString(sz1few);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt;
@ -7183,7 +7183,7 @@ static void test_VarPow(void)
num3_str = SysAllocString(str3);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -7709,7 +7709,7 @@ static void test_VarDiv(void)
num2_str = SysAllocString(str2);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -8082,7 +8082,7 @@ static void test_VarIdiv(void)
num2_str = SysAllocString(str2);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;
@ -8648,7 +8648,7 @@ static void test_VarImp(void)
false_str = SysAllocString(szFalse);
/* Test all possible flag/vt combinations & the resulting vt type */
for (i = 0; i < sizeof(ExtraFlags)/sizeof(ExtraFlags[0]); i++)
for (i = 0; i < ARRAY_SIZE(ExtraFlags); i++)
{
VARTYPE leftvt, rightvt, resvt;

View File

@ -112,7 +112,7 @@ static BOOL has_locales;
#define CONVERT_STR(func,str,flags) \
SetLastError(0); \
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)/sizeof(WCHAR)); \
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,ARRAY_SIZE(buff)); \
hres = func(str ? buff : NULL,in,flags,&out)
#define COPYTEST(val, vt, srcval, dstval, srcref, dstref, fs) do { \
@ -2944,7 +2944,7 @@ static void test_VarDateFromDec(void)
#define DFS(str) \
buff[0] = '\0'; out = 0.0; \
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,sizeof(buff)/sizeof(WCHAR)); \
if (str) MultiByteToWideChar(CP_ACP,0,str,-1,buff,ARRAY_SIZE(buff)); \
hres = VarDateFromStr(str ? buff : NULL,lcid,LOCALE_NOUSEROVERRIDE,&out)
#define MKRELDATE(day,mth) st.wMonth = mth; st.wDay = day; \
@ -3091,7 +3091,7 @@ static void test_VarDateFromStr(void)
DFS("1.2.3 4 5 6"); EXPECT_DBL(38812.04309027778);
DFS("1 2 3 4.5.6"); EXPECT_DBL(37623.17020833334);
for (i = 0; i < sizeof(BadDateStrings)/sizeof(char*); i++)
for (i = 0; i < ARRAY_SIZE(BadDateStrings); i++)
{
DFS(BadDateStrings[i]); EXPECT_MISMATCH;
}
@ -4816,12 +4816,12 @@ static void test_VarBstrCmp(void)
/* These two strings are considered equal even though one is
* NULL-terminated and the other not.
*/
bstr2 = SysAllocStringLen(s1, sizeof(s1) / sizeof(WCHAR));
bstr2 = SysAllocStringLen(s1, ARRAY_SIZE(s1));
VARBSTRCMP(bstr,bstr2,0,VARCMP_EQ);
SysFreeString(bstr2);
/* These two strings are not equal */
bstr2 = SysAllocStringLen(s2, sizeof(s2) / sizeof(WCHAR));
bstr2 = SysAllocStringLen(s2, ARRAY_SIZE(s2));
VARBSTRCMP(bstr,bstr2,0,VARCMP_LT);
SysFreeString(bstr2);
@ -5235,8 +5235,7 @@ if (0)
ret = VarBstrCat(str1, str2, &res);
ok(ret == S_OK, "VarBstrCat failed: %08x\n", ret);
ok(res != NULL, "Expected a string\n");
ok(SysStringLen(res) == sizeof(sz1sz2) / sizeof(WCHAR) - 1,
"Unexpected length\n");
ok(SysStringLen(res) == ARRAY_SIZE(sz1sz2) - 1, "Unexpected length\n");
ok(!memcmp(res, sz1sz2, sizeof(sz1sz2)), "Unexpected value\n");
SysFreeString(res);
@ -5244,14 +5243,13 @@ if (0)
SysFreeString(str1);
/* Concatenation of two strings with embedded NULLs */
str1 = SysAllocStringLen(s1, sizeof(s1) / sizeof(WCHAR));
str2 = SysAllocStringLen(s2, sizeof(s2) / sizeof(WCHAR));
str1 = SysAllocStringLen(s1, ARRAY_SIZE(s1));
str2 = SysAllocStringLen(s2, ARRAY_SIZE(s2));
ret = VarBstrCat(str1, str2, &res);
ok(ret == S_OK, "VarBstrCat failed: %08x\n", ret);
ok(res != NULL, "Expected a string\n");
ok(SysStringLen(res) == sizeof(s1s2) / sizeof(WCHAR),
"Unexpected length\n");
ok(SysStringLen(res) == ARRAY_SIZE(s1s2), "Unexpected length\n");
ok(!memcmp(res, s1s2, sizeof(s1s2)), "Unexpected value\n");
SysFreeString(res);
@ -5893,13 +5891,13 @@ static void test_bstr_cache(void)
/* Fill the bucket with cached entries.
We roll our own, to show that the cache doesn't use
the bstr length field to determine bucket allocation. */
for(i=0; i < sizeof(strs)/sizeof(*strs); i++)
for(i=0; i < ARRAY_SIZE(strs); i++)
{
DWORD_PTR *ptr = CoTaskMemAlloc(64);
ptr[0] = 0;
strs[i] = (BSTR)(ptr + 1);
}
for(i=0; i < sizeof(strs)/sizeof(*strs); i++)
for(i=0; i < ARRAY_SIZE(strs); i++)
SysFreeString(strs[i]);
/* Following allocation will be made from cache */