Piotr Caban : msvcrt: Added btowc implementation.
Alexandre Julliard
julliard at winehq.org
Mon Apr 26 13:59:27 CDT 2010
Module: wine
Branch: master
Commit: 815840e972fd70d2d4bfd32df5422cdc8e5ef738
URL: http://source.winehq.org/git/wine.git/?a=commit;h=815840e972fd70d2d4bfd32df5422cdc8e5ef738
Author: Piotr Caban <piotr at codeweavers.com>
Date: Mon Apr 26 12:33:19 2010 +0200
msvcrt: Added btowc implementation.
---
dlls/msvcr80/msvcr80.spec | 2 +-
dlls/msvcr90/msvcr90.spec | 2 +-
dlls/msvcrt/locale.c | 16 ++++++++++++++++
dlls/msvcrt/msvcrt.spec | 2 +-
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 0c69621..b8e89e4 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1235,7 +1235,7 @@
@ cdecl atol(str) msvcrt.atol
@ cdecl bsearch(ptr ptr long long ptr) msvcrt.bsearch
@ stub bsearch_s
-@ stub btowc
+@ cdecl btowc(long) msvcrt.btowc
@ cdecl calloc(long long) msvcrt.calloc
@ cdecl ceil(double) msvcrt.ceil
@ cdecl clearerr(ptr) msvcrt.clearerr
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 3bfd1b8..141592d 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1219,7 +1219,7 @@
@ cdecl atol(str) msvcrt.atol
@ cdecl bsearch(ptr ptr long long ptr) msvcrt.bsearch
@ stub bsearch_s
-@ stub btowc
+@ cdecl btowc(long) msvcrt.btowc
@ cdecl calloc(long long) msvcrt.calloc
@ cdecl ceil(double) msvcrt.ceil
@ cdecl clearerr(ptr) msvcrt.clearerr
diff --git a/dlls/msvcrt/locale.c b/dlls/msvcrt/locale.c
index 84bd73b..546f20c 100644
--- a/dlls/msvcrt/locale.c
+++ b/dlls/msvcrt/locale.c
@@ -485,6 +485,22 @@ int CDECL __crtGetLocaleInfoW( LCID lcid, LCTYPE type, MSVCRT_wchar_t *buffer, i
}
/*********************************************************************
+ * btowc(MSVCRT.@)
+ */
+MSVCRT_wint_t CDECL MSVCRT_btowc(int c)
+{
+ MSVCRT__locale_t locale = get_locale();
+ unsigned char letter = c;
+ MSVCRT_wchar_t ret;
+
+ if(!MultiByteToWideChar(locale->locinfo->lc_handle[MSVCRT_LC_CTYPE],
+ 0, (LPCSTR)&letter, 1, &ret, 1))
+ return 0;
+
+ return ret;
+}
+
+/*********************************************************************
* __crtGetStringTypeW(MSVCRT.@)
*
* This function was accepting different number of arguments in older
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 0909cd0..156ab2e 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1165,7 +1165,7 @@
@ cdecl atol(str) ntdll.atol
@ cdecl bsearch(ptr ptr long long ptr) ntdll.bsearch
# stub bsearch_s
-# stub btowc
+@ cdecl btowc(long) MSVCRT_btowc
@ cdecl calloc(long long) MSVCRT_calloc
@ cdecl ceil(double) MSVCRT_ceil
@ cdecl clearerr(ptr) MSVCRT_clearerr
More information about the wine-cvs
mailing list