Implemented localeconv() with libc function.
authorMarcus Meissner <marcus@jet.franken.de>
Wed, 4 Jun 2003 20:24:56 +0000 (20:24 +0000)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 4 Jun 2003 20:24:56 +0000 (20:24 +0000)
dlls/msvcrt/locale.c
dlls/msvcrt/msvcrt.spec

index a3de0c2..c12b05c 100644 (file)
@@ -30,6 +30,8 @@
 
 #include "wine/debug.h"
 
+#include <locale.h>
+
 WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
 
 /* FIXME: Need to hold locale for each LC_* type and aggregate
@@ -547,3 +549,35 @@ int __crtLCMapStringA(
    */
   return LCMapStringA(lcid,mapflags,src,srclen,dst,dstlen);
 }
+
+/*********************************************************************
+ *             localeconv (MSVCRT.@)
+ */
+struct MSVCRT_lconv *MSVCRT_localeconv(void) {
+
+  struct lconv *ylconv;
+  static struct MSVCRT_lconv xlconv;
+
+  ylconv = localeconv();
+
+#define X(x) xlconv.x = ylconv->x;
+  X(decimal_point);
+  X(thousands_sep);
+  X(grouping);
+  X(int_curr_symbol);
+  X(currency_symbol);
+  X(mon_decimal_point);
+  X(mon_thousands_sep);
+  X(mon_grouping);
+  X(positive_sign);
+  X(negative_sign);
+  X(int_frac_digits);
+  X(frac_digits);
+  X(p_cs_precedes);
+  X(p_sep_by_space);
+  X(n_cs_precedes);
+  X(n_sep_by_space);
+  X(p_sign_posn);
+  X(n_sign_posn);
+  return &xlconv;
+}
index 1838558..ce600ab 100644 (file)
 @ cdecl labs(long)
 @ cdecl ldexp( double long) MSVCRT_ldexp
 @ cdecl ldiv(long long) MSVCRT_ldiv
-@ stub localeconv #()
+@ cdecl localeconv() MSVCRT_localeconv
 @ cdecl localtime(ptr)
 @ cdecl log(double)
 @ cdecl log10(double)