Piotr Caban : msvcrt/tests: Link to malloc/free functions in cpp tests.

Alexandre Julliard julliard at winehq.org
Fri Apr 30 16:03:29 CDT 2021


Module: wine
Branch: master
Commit: d7cc3d6583bade120639d30cbc374692731858d2
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d7cc3d6583bade120639d30cbc374692731858d2

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Apr 30 20:50:47 2021 +0200

msvcrt/tests: Link to malloc/free functions in cpp tests.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/tests/cpp.c | 37 +++++++++++--------------------------
 1 file changed, 11 insertions(+), 26 deletions(-)

diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c
index 07b49ae755d..24e50196035 100644
--- a/dlls/msvcrt/tests/cpp.c
+++ b/dlls/msvcrt/tests/cpp.c
@@ -44,12 +44,8 @@ typedef struct __type_info
 #endif
 
 /* Function pointers. We need to use these to call these funcs as __thiscall */
-static HMODULE hMsvcrt;
-
-static void* (__cdecl *poperator_new)(unsigned int);
+static void* (__cdecl *poperator_new)(size_t);
 static void  (__cdecl *poperator_delete)(void*);
-static void* (__cdecl *pmalloc)(unsigned int);
-static void  (__cdecl *pfree)(void*);
 
 /* exception */
 static void (__thiscall *pexception_ctor)(exception*,LPCSTR*);
@@ -157,23 +153,12 @@ static void init_thiscall_thunk(void)
 #endif /* __i386__ */
 
 /* Some exports are only available in later versions */
-#define SETNOFAIL(x,y) x = (void*)GetProcAddress(hMsvcrt,y)
+#define SETNOFAIL(x,y) x = (void*)GetProcAddress(hmsvcrt,y)
 #define SET(x,y) do { SETNOFAIL(x,y); ok(x != NULL, "Export '%s' not found\n", y); } while(0)
 
 static BOOL InitFunctionPtrs(void)
 {
-    hMsvcrt = GetModuleHandleA("msvcrt.dll");
-    if (!hMsvcrt)
-        hMsvcrt = GetModuleHandleA("msvcrtd.dll");
-    ok(hMsvcrt != 0, "GetModuleHandleA failed\n");
-    if (!hMsvcrt)
-    {
-        win_skip("Could not load msvcrt.dll\n");
-        return FALSE;
-    }
-
-    SET(pmalloc, "malloc");
-    SET(pfree, "free");
+    HMODULE hmsvcrt = GetModuleHandleA("msvcrt.dll");
 
     SET(pexception_vtable, "??_7exception@@6B@");
     SET(pbad_typeid_vtable, "??_7bad_typeid@@6B@");
@@ -338,9 +323,9 @@ static BOOL InitFunctionPtrs(void)
     }
 
     if (!poperator_new)
-        poperator_new = pmalloc;
+        poperator_new = malloc;
     if (!poperator_delete)
-        poperator_delete = pfree;
+        poperator_delete = free;
 
     init_thiscall_thunk();
     return TRUE;
@@ -818,14 +803,14 @@ static void test_type_info(void)
   char* name;
   int res;
 
-  if (!pmalloc || !pfree || !ptype_info_dtor || !ptype_info_raw_name ||
+  if (!ptype_info_dtor || !ptype_info_raw_name ||
       !ptype_info_name || !ptype_info_before ||
       !ptype_info_opequals_equals || !ptype_info_opnot_equals)
     return;
 
   /* Test calling the dtors */
   call_func1(ptype_info_dtor, &t1); /* No effect, since name is NULL */
-  t1.name = pmalloc(64);
+  t1.name = malloc(64);
   strcpy(t1.name, "foo");
   call_func1(ptype_info_dtor, &t1); /* Frees t1.name using 'free' */
 
@@ -1112,11 +1097,11 @@ static void test_demangle_datatype(void)
 
     for (i = 0; i < num_test; i++)
     {
-	name = p__unDName(0, demangle[i].mangled, 0, pmalloc, pfree, 0x2800);
+	name = p__unDName(0, demangle[i].mangled, 0, malloc, free, 0x2800);
         todo_wine_if (!demangle[i].test_in_wine)
             ok(name != NULL && !strcmp(name,demangle[i].result), "Got name \"%s\" for %d\n", name, i);
         if(name)
-            pfree(name);
+            free(name);
     }
 }
 
@@ -1331,7 +1316,7 @@ static void test_demangle(void)
 
     for (i = 0; i < num_test; i++)
     {
-	name = p__unDName(0, test[i].in, 0, pmalloc, pfree, test[i].flags);
+	name = p__unDName(0, test[i].in, 0, malloc, free, test[i].flags);
         ok(name != NULL, "%u: unDName failed\n", i);
         if (!name) continue;
         ok( !strcmp_space(test[i].out, name) ||
@@ -1340,7 +1325,7 @@ static void test_demangle(void)
         ok( !strcmp_space(test[i].out, name) ||
             broken(test[i].broken && !strcmp_space(test[i].broken, name)),
            "%u: Expected \"%s\"\n", i, test[i].out );
-        pfree(name);
+        free(name);
     }
 }
 




More information about the wine-cvs mailing list