Nikolay Sivov : kernelbase: Use a helper to get character C1 type.
Module: wine Branch: master Commit: 3dedcf82f7b073eebbcac66d56d3503e5937999c URL: https://source.winehq.org/git/wine.git/?a=commit;h=3dedcf82f7b073eebbcac66d5... Author: Nikolay Sivov <nsivov(a)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(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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)
participants (1)
-
Alexandre Julliard