Piotr Caban : msvcp110: Add _New_Locimp implementation.

Alexandre Julliard julliard at winehq.org
Tue Jan 14 13:45:00 CST 2014


Module: wine
Branch: master
Commit: 1d1ea6ebf466c653eaaf72bb3aa35d3daf63a988
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1d1ea6ebf466c653eaaf72bb3aa35d3daf63a988

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Jan 14 13:55:15 2014 +0100

msvcp110: Add _New_Locimp implementation.

---

 dlls/msvcp110/msvcp110.spec |    8 ++++----
 dlls/msvcp90/locale.c       |   34 ++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec
index a12b20e..b9d520d 100644
--- a/dlls/msvcp110/msvcp110.spec
+++ b/dlls/msvcp110/msvcp110.spec
@@ -1637,10 +1637,10 @@
 @ stub -arch=win64 ?_Mtx_new at threads@stdext@@YAXAEAPEAX at Z
 @ stub -arch=win32 ?_Mtx_unlock at threads@stdext@@YAXPAX at Z
 @ stub -arch=win64 ?_Mtx_unlock at threads@stdext@@YAXPEAX at Z
-@ stub -arch=win32 ?_New_Locimp at _Locimp@locale at std@@CAPAV123 at ABV123@@Z
-@ stub -arch=win64 ?_New_Locimp at _Locimp@locale at std@@CAPEAV123 at AEBV123@@Z
-@ stub -arch=win32 ?_New_Locimp at _Locimp@locale at std@@CAPAV123 at _N@Z
-@ stub -arch=win64 ?_New_Locimp at _Locimp@locale at std@@CAPEAV123 at _N@Z
+@ cdecl -arch=win32 ?_New_Locimp at _Locimp@locale at std@@CAPAV123 at ABV123@@Z(ptr) locale__Locimp__New_Locimp
+@ cdecl -arch=win64 ?_New_Locimp at _Locimp@locale at std@@CAPEAV123 at AEBV123@@Z(ptr) locale__Locimp__New_Locimp
+@ cdecl -arch=win32 ?_New_Locimp at _Locimp@locale at std@@CAPAV123 at _N@Z(long) locale__Locimp__New_Locimp_transparent
+@ cdecl -arch=win64 ?_New_Locimp at _Locimp@locale at std@@CAPEAV123 at _N@Z(long) locale__Locimp__New_Locimp_transparent
 @ stub -arch=win32 ?_Open_dir at sys@tr2 at std@@YAPAXPADPBDAAHAAW4file_type at 123@@Z
 @ stub -arch=win64 ?_Open_dir at sys@tr2 at std@@YAPEAXPEADPEBDAEAHAEAW4file_type at 123@@Z
 @ stub -arch=win32 ?_Open_dir at sys@tr2 at std@@YAPAXPA_WPB_WAAHAAW4file_type at 123@@Z
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index b35eaf5..1b0c891 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -9357,6 +9357,40 @@ locale__Locimp* __thiscall locale__Locimp_vector_dtor(locale__Locimp *this, unsi
     return this;
 }
 
+/* ?_New_Locimp at _Locimp@locale at std@@CAPAV123 at ABV123@@Z */
+/* ?_New_Locimp at _Locimp@locale at std@@CAPEAV123 at AEBV123@@Z */
+locale__Locimp* __cdecl locale__Locimp__New_Locimp(const locale__Locimp *copy)
+{
+    locale__Locimp *ret;
+
+    TRACE("(%p)\n", copy);
+
+    ret = MSVCRT_operator_new(sizeof(locale__Locimp));
+    if(!ret) {
+        ERR("Out of memory\n");
+        throw_exception(EXCEPTION_BAD_ALLOC, NULL);
+        return NULL;
+    }
+    return locale__Locimp_copy_ctor(ret, copy);
+}
+
+/* ?_New_Locimp at _Locimp@locale at std@@CAPAV123 at _N@Z */
+/* ?_New_Locimp at _Locimp@locale at std@@CAPEAV123 at _N@Z */
+locale__Locimp* __cdecl locale__Locimp__New_Locimp_transparent(MSVCP_bool transparent)
+{
+    locale__Locimp *ret;
+
+    TRACE("(%x)\n", transparent);
+
+    ret = MSVCRT_operator_new(sizeof(locale__Locimp));
+    if(!ret) {
+        ERR("Out of memory\n");
+        throw_exception(EXCEPTION_BAD_ALLOC, NULL);
+        return NULL;
+    }
+    return locale__Locimp_ctor_transparent(ret, transparent);
+}
+
 /* ?_Locimp_Addfac at _Locimp@locale at std@@CAXPAV123 at PAVfacet@23 at I@Z */
 /* ?_Locimp_Addfac at _Locimp@locale at std@@CAXPEAV123 at PEAVfacet@23 at _K@Z */
 void __cdecl locale__Locimp__Locimp_Addfac(locale__Locimp *locimp, locale_facet *facet, MSVCP_size_t id)




More information about the wine-cvs mailing list