[v2 PATCH 1/4] kernelbase: Use a helper to get character C1 type.
Nikolay Sivov
nsivov at codeweavers.com
Fri May 17 06:28:17 CDT 2019
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/kernelbase/string.c | 31 +++++++++++++------------------
1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/dlls/kernelbase/string.c b/dlls/kernelbase/string.c
index 4991ba3fd1..6f38fc3b3d 100644
--- a/dlls/kernelbase/string.c
+++ b/dlls/kernelbase/string.c
@@ -28,6 +28,13 @@
WINE_DEFAULT_DEBUG_CHANNEL(string);
+static WORD get_char_type(WCHAR ch)
+{
+ WORD type = 0;
+ GetStringTypeW(CT_CTYPE1, &ch, 1, &type);
+ return type;
+}
+
DWORD WINAPI StrCmpCA(const char *str, const char *cmp)
{
return lstrcmpA(str, cmp);
@@ -60,30 +67,22 @@ DWORD WINAPI StrCmpNICW(const WCHAR *str, const WCHAR *cmp, DWORD len)
BOOL WINAPI IsCharBlankW(WCHAR wc)
{
- WORD type;
-
- return GetStringTypeW(CT_CTYPE1, &wc, 1, &type) && (type & C1_BLANK);
+ return !!(get_char_type(wc) & C1_BLANK);
}
BOOL WINAPI IsCharCntrlW(WCHAR wc)
{
- WORD type;
-
- return GetStringTypeW(CT_CTYPE1, &wc, 1, &type) && (type & C1_CNTRL);
+ return !!(get_char_type(wc) & C1_CNTRL);
}
BOOL WINAPI IsCharDigitW(WCHAR wc)
{
- WORD type;
-
- return GetStringTypeW(CT_CTYPE1, &wc, 1, &type) && (type & C1_DIGIT);
+ return !!(get_char_type(wc) & C1_DIGIT);
}
BOOL WINAPI IsCharPunctW(WCHAR wc)
{
- WORD type;
-
- return GetStringTypeW(CT_CTYPE1, &wc, 1, &type) && (type & C1_PUNCT);
+ return !!(get_char_type(wc) & C1_PUNCT);
}
BOOL WINAPI IsCharSpaceA(CHAR c)
@@ -94,16 +93,12 @@ BOOL WINAPI IsCharSpaceA(CHAR c)
BOOL WINAPI IsCharSpaceW(WCHAR wc)
{
- WORD type;
-
- return GetStringTypeW(CT_CTYPE1, &wc, 1, &type) && (type & C1_SPACE);
+ return !!(get_char_type(wc) & C1_SPACE);
}
BOOL WINAPI IsCharXDigitW(WCHAR wc)
{
- WORD type;
-
- return GetStringTypeW(CT_CTYPE1, &wc, 1, &type) && (type & C1_XDIGIT);
+ return !!(get_char_type(wc) & C1_XDIGIT);
}
WCHAR * WINAPI StrChrW(const WCHAR *str, WCHAR ch)
--
2.20.1
More information about the wine-devel
mailing list