Module: wine Branch: master Commit: f3abe0bd7f70ade54fc63a206327180878078308 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f3abe0bd7f70ade54fc63a2063...
Author: Piotr Caban piotr@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@ios_base@std@@IAAXXZ(ptr) ios_base__Init @ thiscall -arch=i386 ?_Init@ios_base@std@@IAEXXZ(ptr) ios_base__Init @ cdecl -arch=win64 ?_Init@ios_base@std@@IEAAXXZ(ptr) ios_base__Init -@ stub -arch=win32 ?_Init@locale@std@@CAPAV_Locimp@12@_N@Z -@ stub -arch=win64 ?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z +@ cdecl -arch=win32 ?_Init@locale@std@@CAPAV_Locimp@12@_N@Z(long) locale__Init_ref +@ cdecl -arch=win64 ?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z(long) locale__Init_ref @ extern ?_Init_cnt@Init@ios_base@std@@0HA ios_base_Init__Init_cnt # extern ?_Init_cnt@_UShinit@std@@0HA @ extern ?_Init_cnt@_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@locale@std@@CAPAV_Locimp@12@_N@Z */ +/* ?_Init@locale@std@@CAPEAV_Locimp@12@_N@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@std@@QAE@ABV01@0H@Z */ /* ??0locale@std@@QEAA@AEBV01@0H@Z */ DEFINE_THISCALL_WRAPPER(locale_ctor_locale_locale, 16)