Author: cwittich
Date: Wed Dec 23 11:56:54 2009
New Revision: 44725
URL:
http://svn.reactos.org/svn/reactos?rev=44725&view=rev
Log:
[crt]
import _wcsupr_s from wine 1.1.35
Modified:
trunk/reactos/dll/win32/msvcrt/msvcrt.def
trunk/reactos/lib/sdk/crt/string/wcs.c
Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt/msvcrt.de…
==============================================================================
--- trunk/reactos/dll/win32/msvcrt/msvcrt.def [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msvcrt/msvcrt.def [iso-8859-1] Wed Dec 23 11:56:54 2009
@@ -852,6 +852,7 @@
_mbsnbcpy_s
wcscpy_s
wcsncpy_s
+ _wcsupr_s
_ftol2=_ftol
_ftol2_sse=_ftol
strcat_s
Modified: trunk/reactos/lib/sdk/crt/string/wcs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/string/wcs.c?r…
==============================================================================
--- trunk/reactos/lib/sdk/crt/string/wcs.c [iso-8859-1] (original)
+++ trunk/reactos/lib/sdk/crt/string/wcs.c [iso-8859-1] Wed Dec 23 11:56:54 2009
@@ -107,6 +107,35 @@
wchar_t* ret = str;
while (*str) *str++ = c;
return ret;
+}
+
+/******************************************************************
+ * _wcsupr_s (MSVCRT.@)
+ *
+ */
+INT CDECL _wcsupr_s( wchar_t* str, size_t n )
+{
+ wchar_t* ptr = str;
+
+ if (!str || !n)
+ {
+ if (str) *str = '\0';
+ __set_errno(EINVAL);
+ return EINVAL;
+ }
+
+ while (n--)
+ {
+ if (!*ptr) return 0;
+ *ptr = toupperW(*ptr);
+ ptr++;
+ }
+
+ /* MSDN claims that the function should return and set errno to
+ * ERANGE, which doesn't seem to be true based on the tests. */
+ *str = '\0';
+ __set_errno(EINVAL);
+ return EINVAL;
}
/*********************************************************************