Piotr Caban : msvcp110: Add locale::_Init implementation.

Alexandre Julliard julliard at winehq.org
Tue Jan 14 13:44:59 CST 2014


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

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

msvcp110: Add locale::_Init implementation.

---

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

diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec
index 0fbb08e..a12b20e 100644
--- a/dlls/msvcp110/msvcp110.spec
+++ b/dlls/msvcp110/msvcp110.spec
@@ -1467,8 +1467,8 @@
 @ cdecl -arch=arm ?_Init at ios_base@std@@IAAXXZ(ptr) ios_base__Init
 @ thiscall -arch=i386 ?_Init at ios_base@std@@IAEXXZ(ptr) ios_base__Init
 @ cdecl -arch=win64 ?_Init at ios_base@std@@IEAAXXZ(ptr) ios_base__Init
-@ stub -arch=win32 ?_Init at locale@std@@CAPAV_Locimp at 12@_N at Z
-@ stub -arch=win64 ?_Init at locale@std@@CAPEAV_Locimp at 12@_N at Z
+@ cdecl -arch=win32 ?_Init at locale@std@@CAPAV_Locimp at 12@_N at Z(long) locale__Init_ref
+@ cdecl -arch=win64 ?_Init at locale@std@@CAPEAV_Locimp at 12@_N at Z(long) locale__Init_ref
 @ extern ?_Init_cnt at Init@ios_base at std@@0HA ios_base_Init__Init_cnt
 # extern ?_Init_cnt at _UShinit@std@@0HA
 @ extern ?_Init_cnt at _Winit@std@@0HA _Winit__Init_cnt
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index c58862f..b35eaf5 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -9845,6 +9845,27 @@ locale__Locimp* __cdecl locale__Init(void)
     return global_locale;
 }
 
+/* ?_Init at locale@std@@CAPAV_Locimp at 12@_N at Z */
+/* ?_Init at locale@std@@CAPEAV_Locimp at 12@_N at Z */
+locale__Locimp* __cdecl locale__Init_ref(MSVCP_bool inc_ref)
+{
+    locale__Locimp *ret;
+    _Lockit lock;
+
+    TRACE("(%x)\n", inc_ref);
+
+    _Lockit_ctor_locktype(&lock, _LOCK_LOCALE);
+    if(inc_ref && global_locale) {
+        call_locale_facet__Incref(&global_locale->facet);
+        _Lockit_dtor(&lock);
+        return global_locale;
+    }
+
+    ret = locale__Init();
+    _Lockit_dtor(&lock);
+    return ret;
+}
+
 /* ??0locale at std@@QAE at ABV01@0H at Z */
 /* ??0locale at std@@QEAA at AEBV01@0H at Z */
 DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16)




More information about the wine-cvs mailing list