[PATCH 1/3] oleaut32/tests: Use the available ARRAY_SIZE() macro

Michael Stefaniuc mstefani at winehq.org
Sun Jun 17 17:09:30 CDT 2018


Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>
---
 dlls/oleaut32/tests/olefont.c    |  2 +-
 dlls/oleaut32/tests/olepicture.c |  8 +++---
 dlls/oleaut32/tests/safearray.c  |  8 +++---
 dlls/oleaut32/tests/tmarshal.c   |  2 +-
 dlls/oleaut32/tests/typelib.c    | 26 ++++++++---------
 dlls/oleaut32/tests/usrmarshal.c |  4 +--
 dlls/oleaut32/tests/varformat.c  | 16 +++++------
 dlls/oleaut32/tests/vartest.c    | 62 ++++++++++++++++++++--------------------
 dlls/oleaut32/tests/vartype.c    | 24 +++++++---------
 9 files changed, 75 insertions(+), 77 deletions(-)

diff --git a/dlls/oleaut32/tests/olefont.c b/dlls/oleaut32/tests/olefont.c
index f9c5625701..10e2a4cf2f 100644
--- a/dlls/oleaut32/tests/olefont.c
+++ b/dlls/oleaut32/tests/olefont.c
@@ -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)
         {
diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c
index 7db1d844ba..50ba7652d8 100644
--- a/dlls/oleaut32/tests/olepicture.c
+++ b/dlls/oleaut32/tests/olepicture.c
@@ -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);
diff --git a/dlls/oleaut32/tests/safearray.c b/dlls/oleaut32/tests/safearray.c
index 5ff29b3c3e..8a215df04c 100644
--- a/dlls/oleaut32/tests/safearray.c
+++ b/dlls/oleaut32/tests/safearray.c
@@ -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];
 
diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c
index 00cb4646c5..b48b7855db 100644
--- a/dlls/oleaut32/tests/tmarshal.c
+++ b/dlls/oleaut32/tests/tmarshal.c
@@ -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;
diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c
index 4d5314e1ab..03031743df 100644
--- a/dlls/oleaut32/tests/typelib.c
+++ b/dlls/oleaut32/tests/typelib.c
@@ -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);
diff --git a/dlls/oleaut32/tests/usrmarshal.c b/dlls/oleaut32/tests/usrmarshal.c
index b9478d1b69..5ea13e418b 100644
--- a/dlls/oleaut32/tests/usrmarshal.c
+++ b/dlls/oleaut32/tests/usrmarshal.c
@@ -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;
 
diff --git a/dlls/oleaut32/tests/varformat.c b/dlls/oleaut32/tests/varformat.c
index 69476aa5d3..d713894870 100644
--- a/dlls/oleaut32/tests/varformat.c
+++ b/dlls/oleaut32/tests/varformat.c
@@ -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,
diff --git a/dlls/oleaut32/tests/vartest.c b/dlls/oleaut32/tests/vartest.c
index 429ffbbb2e..c00968e225 100644
--- a/dlls/oleaut32/tests/vartest.c
+++ b/dlls/oleaut32/tests/vartest.c
@@ -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;
 
diff --git a/dlls/oleaut32/tests/vartype.c b/dlls/oleaut32/tests/vartype.c
index 9be2eb2901..e93a6e6a8d 100644
--- a/dlls/oleaut32/tests/vartype.c
+++ b/dlls/oleaut32/tests/vartype.c
@@ -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 */
-- 
2.14.4




More information about the wine-devel mailing list