___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com
--- Begin Message ---
Hi Marcus,
> The missing function is passed up using a standard Win32 exception,
> which is handled by the program here.
>
> Oh, and please try this patch:
>
> Ciao, Marcus
>
> Changelog:
> Implemented localeconv() by just calling to Linux localeconv().
Yes, thanks!
It works, when I insert another function of MSVCRT.DLL: _Gettnames()
For now just returning NULL is enough. The return value doesn't seem to be
important.
--
Martin Fuchs
martin-fuchs@gmx.net
Index: dlls/msvcrt/locale.c
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/locale.c,v
retrieving revision 1.16
diff -u -r1.16 locale.c
--- dlls/msvcrt/locale.c 12 Feb 2003 21:28:47 -0000 1.16
+++ dlls/msvcrt/locale.c 1 Jun 2003 22:17:31 -0000
@@ -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
@@ -546,4 +548,48 @@
* arguments to wide strings and then calls LCMapStringW
*/
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;
+}
+
+
+/*********************************************************************
+ * _Gettnames (MSVCRT.@)
+ */
+void * __cdecl MSVCRT_Gettnames()
+{
+ /* FIXME: */
+ TRACE("(void) stub\n");
+
+ return NULL;
}
Index: dlls/msvcrt/msvcrt.spec
===================================================================
RCS file: /home/wine/wine/dlls/msvcrt/msvcrt.spec,v
retrieving revision 1.72
diff -u -r1.72 msvcrt.spec
--- dlls/msvcrt/msvcrt.spec 12 May 2003 03:31:16 -0000 1.72
+++ dlls/msvcrt/msvcrt.spec 1 Jun 2003 22:17:32 -0000
@@ -655,7 +655,7 @@
@ 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)
@@ -762,5 +762,5 @@
@ cdecl wctomb(ptr long) MSVCRT_wctomb
@ varargs wprintf(wstr) MSVCRT_wprintf
@ varargs wscanf(wstr) MSVCRT_wscanf
-@ stub _Gettnames
+@ cdecl _Gettnames() MSVCRT_Gettnames
@ stub __lc_collate_cp
--- End Message ---