4 * Copyright 1993 Yngvi Sigurjonsson (yngvi@hafro.is)
5 * Copyright 1996 Marcus Meissner
20 #include "wine/winbase16.h"
21 #include "wine/winuser16.h"
22 #include "wine/unicode.h"
26 #include "debugtools.h"
28 DEFAULT_DEBUG_CHANNEL(resource);
30 extern const WORD OLE2NLS_CT_CType3_LUT[]; /* FIXME: does not belong here */
32 /***********************************************************************
33 * CharLowerA (USER32.25)
34 * FIXME: handle current locale
36 LPSTR WINAPI CharLowerA(LPSTR x)
50 else return (LPSTR)tolower((char)(int)x);
53 /***********************************************************************
54 * CharLowerBuffA (USER32.26)
55 * FIXME: handle current locale
57 DWORD WINAPI CharLowerBuffA(LPSTR x,DWORD buflen)
61 if (!x) return 0; /* YES */
62 while (*x && (buflen--))
71 /***********************************************************************
72 * CharLowerBuffW (USER32.27)
74 DWORD WINAPI CharLowerBuffW(LPWSTR x,DWORD buflen)
78 if (!x) return 0; /* YES */
79 while (*x && (buflen--))
88 /***********************************************************************
89 * CharLowerW (USER32.28)
90 * FIXME: handle current locale
92 LPWSTR WINAPI CharLowerW(LPWSTR x)
104 else return (LPWSTR)((UINT)tolowerW(LOWORD(x)));
107 /***********************************************************************
108 * CharUpperA (USER32.41)
109 * FIXME: handle current locale
111 LPSTR WINAPI CharUpperA(LPSTR x)
123 return (LPSTR)toupper((char)(int)x);
126 /***********************************************************************
127 * CharUpperBuffA (USER32.42)
128 * FIXME: handle current locale
130 DWORD WINAPI CharUpperBuffA( LPSTR str, DWORD len )
133 if (!str) return 0; /* YES */
134 for (; len; len--, str++) *str = toupper(*str);
138 /***********************************************************************
139 * CharUpperBuffW (USER32.43)
140 * FIXME: handle current locale
142 DWORD WINAPI CharUpperBuffW( LPWSTR str, DWORD len )
145 if (!str) return 0; /* YES */
146 for (; len; len--, str++) *str = toupperW(*str);
150 /***********************************************************************
151 * CharUpperW (USER32.44)
152 * FIXME: handle current locale
154 LPWSTR WINAPI CharUpperW(LPWSTR x)
166 else return (LPWSTR)((UINT)toupperW(LOWORD(x)));
169 /***********************************************************************
170 * IsCharAlphaA (USER.433) (USER32.331)
171 * FIXME: handle current locale
173 BOOL WINAPI IsCharAlphaA(CHAR x)
175 return (OLE2NLS_CT_CType3_LUT[(unsigned char)x] & C3_ALPHA);
178 /***********************************************************************
179 * IsCharAlphaNumericA (USER.434) (USER32.332)
180 * FIXME: handle current locale
182 BOOL WINAPI IsCharAlphaNumericA(CHAR x)
184 return IsCharAlphaA(x) || isdigit(x) ;