[PATCH 4/4] kernelbase: Use ntdll ctype functions.
Zebediah Figura
zfigura at codeweavers.com
Sat Jan 29 19:05:30 CST 2022
These were open-coded in 5933c2a6901218bc6ef7b6e808b0571fa96b542e, but there's
no reason not to use the ASCII versions from ntdll.
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
dlls/kernelbase/path.c | 18 ++++--------------
dlls/kernelbase/string.c | 4 ----
2 files changed, 4 insertions(+), 18 deletions(-)
diff --git a/dlls/kernelbase/path.c b/dlls/kernelbase/path.c
index 3503286a82a..5f983895576 100644
--- a/dlls/kernelbase/path.c
+++ b/dlls/kernelbase/path.c
@@ -36,13 +36,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(path);
-#define isalnum(ch) (((ch) >= '0' && (ch) <= '9') || \
- ((ch) >= 'A' && (ch) <= 'Z') || \
- ((ch) >= 'a' && (ch) <= 'z'))
-#define isxdigit(ch) (((ch) >= '0' && (ch) <= '9') || \
- ((ch) >= 'A' && (ch) <= 'F') || \
- ((ch) >= 'a' && (ch) <= 'f'))
-
static const char hexDigits[] = "0123456789ABCDEF";
static const unsigned char hashdata_lookup[256] =
@@ -107,13 +100,12 @@ static WCHAR *heap_strdupAtoW(const char *str)
static BOOL is_drive_spec( const WCHAR *str )
{
- return ((str[0] >= 'A' && str[0] <= 'Z') || (str[0] >= 'a' && str[0] <= 'z')) && str[1] == ':';
+ return isalpha( str[0] ) && str[1] == ':';
}
static BOOL is_escaped_drive_spec( const WCHAR *str )
{
- return ((str[0] >= 'A' && str[0] <= 'Z') || (str[0] >= 'a' && str[0] <= 'z')) &&
- (str[1] == ':' || str[1] == '|');
+ return isalpha( str[0] ) && (str[1] == ':' || str[1] == '|');
}
static BOOL is_prefixed_unc(const WCHAR *string)
@@ -2794,8 +2786,7 @@ HRESULT WINAPI ParseURLA(const char *url, PARSEDURLA *result)
if (result->cbSize != sizeof(*result))
return E_INVALIDARG;
- while (*ptr && ((*ptr >= 'a' && *ptr <= 'z') || (*ptr >= 'A' && *ptr <= 'Z') ||
- (*ptr >= '0' && *ptr <= '9') || *ptr == '-' || *ptr == '+' || *ptr == '.'))
+ while (*ptr && (isalnum( *ptr ) || *ptr == '-' || *ptr == '+' || *ptr == '.'))
ptr++;
if (*ptr != ':' || ptr <= url + 1)
@@ -4177,8 +4168,7 @@ static const WCHAR * scan_url(const WCHAR *start, DWORD *size, enum url_scan_typ
switch (type)
{
case SCHEME:
- while ((*start >= 'a' && *start <= 'z') || (*start >= '0' && *start <= '9') ||
- *start == '+' || *start == '-' || *start == '.')
+ while ((isalnum( *start ) && !isupper( *start )) || *start == '+' || *start == '-' || *start == '.')
{
start++;
(*size)++;
diff --git a/dlls/kernelbase/string.c b/dlls/kernelbase/string.c
index 29cc158202f..f5d4468ae6c 100644
--- a/dlls/kernelbase/string.c
+++ b/dlls/kernelbase/string.c
@@ -30,10 +30,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(string);
-#define isxdigit(ch) (((ch) >= '0' && (ch) <= '9') || \
- ((ch) >= 'A' && (ch) <= 'F') || \
- ((ch) >= 'a' && (ch) <= 'f'))
-
static BOOL char_compare(WORD ch1, WORD ch2, DWORD flags)
{
char str1[3], str2[3];
--
2.33.0
More information about the wine-devel
mailing list