Piotr Caban : msvcp: Added _Getdateorder implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Feb 25 09:57:01 CST 2015


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed Feb 25 15:33:52 2015 +0100

msvcp: Added _Getdateorder implementation.

---

 dlls/msvcp100/msvcp100.spec         |  2 +-
 dlls/msvcp110/msvcp110.spec         |  2 +-
 dlls/msvcp120/msvcp120.spec         |  2 +-
 dlls/msvcp120_app/msvcp120_app.spec |  2 +-
 dlls/msvcp80/msvcp80.spec           |  2 +-
 dlls/msvcp90/locale.c               | 26 ++++++++++++++++++++++++--
 dlls/msvcp90/msvcp90.spec           |  2 +-
 7 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec
index 0055d79..bafbf18 100644
--- a/dlls/msvcp100/msvcp100.spec
+++ b/dlls/msvcp100/msvcp100.spec
@@ -2912,7 +2912,7 @@
 @ cdecl -ret64 _Getcoll()
 @ cdecl _Getctype(ptr)
 @ cdecl -ret64 _Getcvt()
-@ stub _Getdateorder
+@ cdecl _Getdateorder()
 @ cdecl _Getwctype(long ptr)
 @ cdecl _Getwctypes(ptr ptr ptr ptr)
 @ extern _Hugeval
diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec
index a2c5ac9..6548146 100644
--- a/dlls/msvcp110/msvcp110.spec
+++ b/dlls/msvcp110/msvcp110.spec
@@ -3781,7 +3781,7 @@
 @ cdecl -ret64 _Getcoll()
 @ cdecl _Getctype(ptr)
 @ cdecl -ret64 _Getcvt()
-@ stub _Getdateorder
+@ cdecl _Getdateorder()
 @ cdecl _Getwctype(long ptr)
 @ cdecl _Getwctypes(ptr ptr ptr ptr)
 @ extern _Hugeval
diff --git a/dlls/msvcp120/msvcp120.spec b/dlls/msvcp120/msvcp120.spec
index 653b742..30071ab 100644
--- a/dlls/msvcp120/msvcp120.spec
+++ b/dlls/msvcp120/msvcp120.spec
@@ -3724,7 +3724,7 @@
 @ cdecl -ret64 _Getcoll()
 @ cdecl _Getctype(ptr)
 @ cdecl -ret64 _Getcvt()
-@ stub _Getdateorder
+@ cdecl _Getdateorder()
 @ cdecl _Getwctype(long ptr)
 @ cdecl _Getwctypes(ptr ptr ptr ptr)
 @ extern _Hugeval
diff --git a/dlls/msvcp120_app/msvcp120_app.spec b/dlls/msvcp120_app/msvcp120_app.spec
index 390d470..61ba791 100644
--- a/dlls/msvcp120_app/msvcp120_app.spec
+++ b/dlls/msvcp120_app/msvcp120_app.spec
@@ -3724,7 +3724,7 @@
 @ cdecl -ret64 _Getcoll() msvcp120._Getcoll
 @ cdecl _Getctype(ptr) msvcp120._Getctype
 @ cdecl -ret64 _Getcvt() msvcp120._Getcvt
-@ stub _Getdateorder
+@ cdecl _Getdateorder() msvcp120._Getdateorder
 @ cdecl _Getwctype(long ptr) msvcp120._Getwctype
 @ cdecl _Getwctypes(ptr ptr ptr ptr) msvcp120._Getwctypes
 @ extern _Hugeval msvcp120._Hugeval
diff --git a/dlls/msvcp80/msvcp80.spec b/dlls/msvcp80/msvcp80.spec
index 8f3c43e..ed18b59 100644
--- a/dlls/msvcp80/msvcp80.spec
+++ b/dlls/msvcp80/msvcp80.spec
@@ -5727,7 +5727,7 @@
 @ cdecl -ret64 _Getcoll()
 @ cdecl _Getctype(ptr)
 @ cdecl -ret64 _Getcvt()
-@ stub _Getdateorder
+@ cdecl _Getdateorder()
 @ cdecl _Getwctype(long ptr)
 @ cdecl _Getwctypes(ptr ptr ptr ptr)
 @ extern _Hugeval
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index a0fbc66..95f4e8d 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -38,6 +38,14 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(msvcp);
 
+typedef enum {
+    DATEORDER_no_order,
+    DATEORDER_dmy,
+    DATEORDER_mdy,
+    DATEORDER_ymd,
+    DATEORDER_ydm
+} dateorder;
+
 char* __cdecl _Getdays(void);
 char* __cdecl _Getmonths(void);
 void* __cdecl _Gettnames(void);
@@ -689,13 +697,27 @@ _Cvtvec* __thiscall _Locinfo__Getcvt(const _Locinfo *this, _Cvtvec *ret)
     return ret;
 }
 
+int __cdecl _Getdateorder(void)
+{
+    WCHAR date_fmt[2];
+
+    if(!GetLocaleInfoW(___lc_handle_func()[LC_TIME], LOCALE_ILDATE,
+                date_fmt, sizeof(date_fmt)/sizeof(*date_fmt)))
+        return DATEORDER_no_order;
+
+    if(*date_fmt == '0') return DATEORDER_mdy;
+    if(*date_fmt == '1') return DATEORDER_dmy;
+    if(*date_fmt == '2') return DATEORDER_ymd;
+    return DATEORDER_no_order;
+}
+
 /* ?_Getdateorder at _Locinfo@std@@QBEHXZ */
 /* ?_Getdateorder at _Locinfo@std@@QEBAHXZ */
 DEFINE_THISCALL_WRAPPER(_Locinfo__Getdateorder, 4)
 int __thiscall _Locinfo__Getdateorder(const _Locinfo *this)
 {
-    FIXME("(%p) stub\n", this);
-    return 0;
+    TRACE("(%p)\n", this);
+    return _Getdateorder();
 }
 
 /* ?_Getdays at _Locinfo@std@@QBEPBDXZ */
diff --git a/dlls/msvcp90/msvcp90.spec b/dlls/msvcp90/msvcp90.spec
index 925a153..0e5c842 100644
--- a/dlls/msvcp90/msvcp90.spec
+++ b/dlls/msvcp90/msvcp90.spec
@@ -6499,7 +6499,7 @@
 @ cdecl -ret64 _Getcoll()
 @ cdecl _Getctype(ptr)
 @ cdecl -ret64 _Getcvt()
-@ stub _Getdateorder
+@ cdecl _Getdateorder()
 @ cdecl _Getwctype(long ptr)
 @ cdecl _Getwctypes(ptr ptr ptr ptr)
 @ extern _Hugeval




More information about the wine-cvs mailing list