xref: /reactos/sdk/lib/crt/string/_wcslwr_s.c (revision d6eebaa4)
1 /*
2  * The C RunTime DLL
3  *
4  * Implements C run-time functionality as known from UNIX.
5  *
6  * Copyright 1996,1998 Marcus Meissner
7  * Copyright 1996 Jukka Iivonen
8  * Copyright 1997 Uwe Bonnes
9  */
10 
11 #include <precomp.h>
12 
13 /*
14  * @implemented
15  */
16 int _wcslwr_s(wchar_t* str, size_t n)
17 {
18   wchar_t *ptr=str;
19   if (!str || !n)
20   {
21     if (str) *str = '\0';
22     *_errno() = EINVAL;
23     return EINVAL;
24   }
25 
26   while (n--)
27   {
28     if (!*ptr) return 0;
29     *ptr = towlower(*ptr);
30     ptr++;
31   }
32 
33   /* MSDN claims that the function should return and set errno to
34    * ERANGE, which doesn't seem to be true based on the tests. */
35   *str = '\0';
36   *_errno() = EINVAL;
37   return EINVAL;
38 }
39