[5/5] oleaut32/tests: Don't use autoheader styled defines in vartype

André Hentschel nerv at dawncrow.de
Tue Jun 25 16:59:17 CDT 2013


---
 dlls/oleaut32/tests/vartype.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/dlls/oleaut32/tests/vartype.c b/dlls/oleaut32/tests/vartype.c
index c87ada8..893be02 100644
--- a/dlls/oleaut32/tests/vartype.c
+++ b/dlls/oleaut32/tests/vartype.c
@@ -50,13 +50,10 @@ static HMODULE hOleaut32;
   if (!p##func) { \
     win_skip("function " # func " not available, not testing it\n"); return; }
 
-/* Is a given function exported from oleaut32? */
-#define HAVE_FUNC(func) ((void*)GetProcAddress(hOleaut32, #func) != NULL)
-
-/* Have I8/UI8 data type? */
-#define HAVE_OLEAUT32_I8      HAVE_FUNC(VarI8FromI1)
-/* Have proper locale conversions? */
-#define HAVE_OLEAUT32_LOCALES (HAVE_FUNC(GetVarConversionLocaleSetting) && HAVE_OLEAUT32_I8)
+/* Has I8/UI8 data type? */
+static int has_i8;
+/* Has proper locale conversions? */
+static int has_locales;
 
 /* Is vt a type unavailable to ancient versions? */
 #define IS_MODERN_VTYPE(vt) (vt==VT_VARIANT||vt==VT_DECIMAL|| \
@@ -161,7 +158,7 @@ static HMODULE hOleaut32;
   TYPETEST(VT_R4, V_R4(&vDst), fs); \
   TYPETEST(VT_R8, V_R8(&vDst), fs); \
   TYPETEST(VT_DATE, V_DATE(&vDst), fs); \
-  if (HAVE_OLEAUT32_I8) \
+  if (has_i8) \
   { \
     TYPETEST(VT_I8, V_I8(&vDst), fs); \
     TYPETEST(VT_UI8, V_UI8(&vDst), fs); \
@@ -2314,7 +2311,7 @@ static void test_VarI8Copy(void)
   VARIANTARG vSrc, vDst;
   LONGLONG in = 1;
 
-  if (!HAVE_OLEAUT32_I8)
+  if (!has_i8)
   {
     win_skip("I8 and UI8 data types are not available\n");
     return;
@@ -2345,7 +2342,7 @@ static void test_VarI8ChangeTypeEx(void)
   LONG64 in;
   VARIANTARG vSrc, vDst;
 
-  if (!HAVE_OLEAUT32_I8)
+  if (!has_i8)
   {
     win_skip("I8 and UI8 data types are not available\n");
     return;
@@ -2583,7 +2580,7 @@ static void test_VarUI8Copy(void)
   VARIANTARG vSrc, vDst;
   ULONGLONG in = 1;
 
-  if (!HAVE_OLEAUT32_I8)
+  if (!has_i8)
   {
     win_skip("I8 and UI8 data types are not available\n");
     return;
@@ -2614,7 +2611,7 @@ static void test_VarUI8ChangeTypeEx(void)
   ULONG64 in;
   VARIANTARG vSrc, vDst;
 
-  if (!HAVE_OLEAUT32_I8)
+  if (!has_i8)
   {
     win_skip("I8 and UI8 data types are not available\n");
     return;
@@ -3474,7 +3471,7 @@ static void test_VarDateChangeTypeEx(void)
   VariantClear(&vDst);
 
   lcid = MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT);
-  if (HAVE_OLEAUT32_LOCALES)
+  if (has_locales)
   {
     hres = VariantChangeTypeEx(&vDst, &vSrc, lcid, VARIANT_NOUSEROVERRIDE|VARIANT_USE_NLS, VT_BSTR);
     ok(hres == S_OK && V_VT(&vDst) == VT_BSTR && V_BSTR(&vDst) && !lstrcmpW(V_BSTR(&vDst), sz25570Nls), 
@@ -4757,7 +4754,7 @@ static void test_VarBoolFromStr(void)
   /* And is still not case sensitive */
   CONVERT_STR(VarBoolFromStr,"False",0); EXPECT(VARIANT_FALSE);
 
-  if (HAVE_OLEAUT32_LOCALES)
+  if (has_locales)
   {
     /* French is rejected without VARIANT_LOCALBOOL */
     CONVERT_STR(VarBoolFromStr,"faux",0); EXPECT_MISMATCH;
@@ -4777,7 +4774,7 @@ static void test_VarBoolFromStr(void)
   CONVERT_STR(VarBoolFromStr,"-1",0); EXPECT(VARIANT_TRUE);
   CONVERT_STR(VarBoolFromStr,"+1",0); EXPECT(VARIANT_TRUE);
 
-  if (HAVE_OLEAUT32_LOCALES)
+  if (has_locales)
   {
     /* Numeric strings are read as floating point numbers. The line below fails
      * because '.' is not a valid decimal separator for Polish numbers */
@@ -4826,7 +4823,7 @@ static void test_VarBoolChangeTypeEx(void)
   V_BOOL(&vSrc) = 0;
   BOOL_STR(VARIANT_ALPHABOOL, szFalse);
 
-  if (HAVE_OLEAUT32_LOCALES)
+  if (has_locales)
   {
     lcid = MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT);
 
@@ -5700,7 +5697,7 @@ static void test_IUnknownChangeTypeEx(void)
     {
       if (vt == VT_I8 || vt == VT_UI8)
       {
-        if (HAVE_OLEAUT32_I8)
+        if (has_i8)
           hExpected = DISP_E_TYPEMISMATCH;
       }
       else if (vt == VT_RECORD)
@@ -5850,7 +5847,7 @@ static void test_ErrorChangeTypeEx(void)
     {
       if (vt == VT_I8 || vt == VT_UI8)
       {
-        if (HAVE_OLEAUT32_I8)
+        if (has_i8)
           hExpected = DISP_E_TYPEMISMATCH;
       }
       else if (vt == VT_RECORD)
@@ -5886,7 +5883,7 @@ static void test_EmptyChangeTypeEx(void)
 
     if (vt == VT_I8 || vt == VT_UI8)
     {
-      if (HAVE_OLEAUT32_I8)
+      if (has_i8)
         hExpected = S_OK;
     }
     else if (vt == VT_RECORD)
@@ -5931,7 +5928,7 @@ static void test_NullChangeTypeEx(void)
 
     if (vt == VT_I8 || vt == VT_UI8)
     {
-      if (HAVE_OLEAUT32_I8)
+      if (has_i8)
         hExpected = DISP_E_TYPEMISMATCH;
     }
     else if (vt == VT_RECORD)
@@ -6091,6 +6088,9 @@ START_TEST(vartype)
 {
   hOleaut32 = GetModuleHandleA("oleaut32.dll");
 
+  has_i8 = GetProcAddress(hOleaut32, "VarI8FromI1") != NULL;
+  has_locales = has_i8 && GetProcAddress(hOleaut32, "GetVarConversionLocaleSetting") != NULL;
+
   trace("LCIDs: System=0x%08x, User=0x%08x\n", GetSystemDefaultLCID(),
         GetUserDefaultLCID());
 
-- 
1.8.1.2



More information about the wine-patches mailing list