Piotr Caban : ucrtbase: Add _o_malloc implementation.

Alexandre Julliard julliard at winehq.org
Tue Nov 20 15:39:50 CST 2018


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Nov 20 01:00:41 2018 +0100

ucrtbase: Add _o_malloc implementation.

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

---

 .../api-ms-win-crt-private-l1-1-0.spec              |  2 +-
 dlls/ucrtbase/tests/misc.c                          | 21 +++++++++++++++++++++
 dlls/ucrtbase/ucrtbase.spec                         |  2 +-
 3 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
index 9fc7723..60a9258 100644
--- a/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-private-l1-1-0/api-ms-win-crt-private-l1-1-0.spec
@@ -1015,7 +1015,7 @@
 @ stub _o_lround
 @ stub _o_lroundf
 @ stub _o_lroundl
-@ stub _o_malloc
+@ cdecl _o_malloc(long) ucrtbase._o_malloc
 @ stub _o_mblen
 @ stub _o_mbrlen
 @ stub _o_mbrtoc16
diff --git a/dlls/ucrtbase/tests/misc.c b/dlls/ucrtbase/tests/misc.c
index 65e308c..ddb7938 100644
--- a/dlls/ucrtbase/tests/misc.c
+++ b/dlls/ucrtbase/tests/misc.c
@@ -136,6 +136,9 @@ static int (__cdecl *p_crt_at_quick_exit)(void (__cdecl *func)(void));
 static void (__cdecl *p_quick_exit)(int exitcode);
 static int (__cdecl *p__stat32)(const char*, struct _stat32 *buf);
 static int (__cdecl *p__close)(int);
+static void* (__cdecl *p__o_malloc)(size_t);
+static size_t (__cdecl *p__msize)(void*);
+static void (__cdecl *p_free)(void*);
 
 static void test__initialize_onexit_table(void)
 {
@@ -496,6 +499,9 @@ static BOOL init(void)
     p_quick_exit = (void*)GetProcAddress(module, "quick_exit");
     p__stat32 = (void*)GetProcAddress(module, "_stat32");
     p__close = (void*)GetProcAddress(module, "_close");
+    p__o_malloc = (void*)GetProcAddress(module, "_o_malloc");
+    p__msize = (void*)GetProcAddress(module, "_msize");
+    p_free = (void*)GetProcAddress(module, "free");
 
     return TRUE;
 }
@@ -1034,6 +1040,20 @@ static void test__stat32(void)
     }
 }
 
+static void test__o_malloc(void)
+{
+    void *m;
+    size_t s;
+
+    m = p__o_malloc(1);
+    ok(m != NULL, "p__o_malloc(1) returned NULL\n");
+
+    s = p__msize(m);
+    ok(s == 1, "_msize returned %d\n", (int)s);
+
+    p_free(m);
+}
+
 START_TEST(misc)
 {
     int arg_c;
@@ -1068,4 +1088,5 @@ START_TEST(misc)
     test_exit(arg_v[0]);
     test_quick_exit(arg_v[0]);
     test__stat32();
+    test__o_malloc();
 }
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index 34e6b0e..6e6cc43 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -1706,7 +1706,7 @@
 @ stub _o_lround
 @ stub _o_lroundf
 @ stub _o_lroundl
-@ stub _o_malloc
+@ cdecl _o_malloc(long) MSVCRT_malloc
 @ stub _o_mblen
 @ stub _o_mbrlen
 @ stub _o_mbrtoc16




More information about the wine-cvs mailing list