Commit 2ec33961 authored by Alexandre Julliard's avatar Alexandre Julliard

kernel32: Avoid using wctype functions.

parent e71ffcde
...@@ -362,7 +362,10 @@ static void WCEL_SaveYank(WCEL_Context* ctx, int beg, int end) ...@@ -362,7 +362,10 @@ static void WCEL_SaveYank(WCEL_Context* ctx, int beg, int end)
*/ */
static inline BOOL WCEL_iswalnum(WCHAR wc) static inline BOOL WCEL_iswalnum(WCHAR wc)
{ {
return get_char_typeW(wc) & (C1_ALPHA|C1_DIGIT|C1_LOWER|C1_UPPER); WORD type;
GetStringTypeW( CT_CTYPE1, &wc, 1, &type );
return type & (C1_ALPHA|C1_DIGIT|C1_LOWER|C1_UPPER);
} }
static int WCEL_GetLeftWordTransition(WCEL_Context* ctx, int ofs) static int WCEL_GetLeftWordTransition(WCEL_Context* ctx, int ofs)
......
...@@ -184,7 +184,7 @@ static LPCWSTR format_insert( BOOL unicode_caller, int insert, LPCWSTR format, ...@@ -184,7 +184,7 @@ static LPCWSTR format_insert( BOOL unicode_caller, int insert, LPCWSTR format,
} }
else *p++ = *format++; else *p++ = *format++;
} }
while (isdigitW(*format)) *p++ = *format++; while (*format >= '0' && *format <= '9') *p++ = *format++;
if (*format == '.') if (*format == '.')
{ {
...@@ -196,7 +196,7 @@ static LPCWSTR format_insert( BOOL unicode_caller, int insert, LPCWSTR format, ...@@ -196,7 +196,7 @@ static LPCWSTR format_insert( BOOL unicode_caller, int insert, LPCWSTR format,
format++; format++;
} }
else else
while (isdigitW(*format)) *p++ = *format++; while (*format >= '0' && *format <= '9') *p++ = *format++;
} }
/* replicate MS bug: drop an argument when using va_list with width/precision */ /* replicate MS bug: drop an argument when using va_list with width/precision */
......
...@@ -270,8 +270,8 @@ static void PROFILE_Free( PROFILESECTION *section ) ...@@ -270,8 +270,8 @@ static void PROFILE_Free( PROFILESECTION *section )
/* returns TRUE if a whitespace character, else FALSE */ /* returns TRUE if a whitespace character, else FALSE */
static inline BOOL PROFILE_isspaceW(WCHAR c) static inline BOOL PROFILE_isspaceW(WCHAR c)
{ {
/* ^Z (DOS EOF) is a space too (found on CD-ROMs) */ /* ^Z (DOS EOF) is a space too (found on CD-ROMs) */
return isspaceW(c) || c == 0x1a; return (c >= 0x09 && c <= 0x0d) || c == 0x1a || c == 0x20;
} }
static inline ENCODING PROFILE_DetectTextEncoding(const void * buffer, int * len) static inline ENCODING PROFILE_DetectTextEncoding(const void * buffer, int * len)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment