Nikolay Sivov : kernelbase: Use a helper to get character C1 type.

Alexandre Julliard julliard at winehq.org
Fri May 17 16:10:15 CDT 2019


Module: wine
Branch: master
Commit: 3dedcf82f7b073eebbcac66d56d3503e5937999c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3dedcf82f7b073eebbcac66d56d3503e5937999c

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri May 17 14:28:17 2019 +0300

kernelbase: Use a helper to get character C1 type.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 4991ba3..6f38fc3 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)




More information about the wine-cvs mailing list