Module: wine Branch: master Commit: b7fe06d0fa6dbad7d2c3ae380557adcaa10b89f8 URL: https://source.winehq.org/git/wine.git/?a=commit;h=b7fe06d0fa6dbad7d2c3ae380...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Nov 18 16:03:27 2020 +0100
msvcrt: Use the msvcrt ctype functions internally.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/ctype.c | 6 +++--- dlls/msvcrt/file.c | 2 +- dlls/msvcrt/msvcrt.h | 3 +++ dlls/msvcrt/printf.h | 6 +++--- dlls/msvcrt/scanf.h | 7 ++----- dlls/msvcrt/undname.c | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/dlls/msvcrt/ctype.c b/dlls/msvcrt/ctype.c index 772357826eb..1334a514788 100644 --- a/dlls/msvcrt/ctype.c +++ b/dlls/msvcrt/ctype.c @@ -396,7 +396,7 @@ int CDECL MSVCRT_isblank(int c) */ int CDECL MSVCRT___isascii(int c) { - return isascii((unsigned)c); + return ((unsigned)c < 0x80); }
/********************************************************************* @@ -421,7 +421,7 @@ int CDECL MSVCRT_iswascii(MSVCRT_wchar_t c) */ int CDECL MSVCRT___iscsym(int c) { - return (c < 127 && (isalnum(c) || c == '_')); + return (c < 127 && (MSVCRT_isalnum(c) || c == '_')); }
/********************************************************************* @@ -429,7 +429,7 @@ int CDECL MSVCRT___iscsym(int c) */ int CDECL MSVCRT___iscsymf(int c) { - return (c < 127 && (isalpha(c) || c == '_')); + return (c < 127 && (MSVCRT_isalpha(c) || c == '_')); }
/********************************************************************* diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 9d5f19cfbc0..090aa913589 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -3013,7 +3013,7 @@ int CDECL MSVCRT_stat64(const char* path, struct MSVCRT__stat64 * buf) Also a letter as first char isn't enough to be classified as a drive letter */ - if (isalpha(*path)&& (*(path+1)==':')) + if (MSVCRT_isalpha(*path)&& (*(path+1)==':')) buf->st_dev = buf->st_rdev = MSVCRT__toupper_l(*path, NULL) - 'A'; /* drive num */ else buf->st_dev = buf->st_rdev = MSVCRT__getdrive() - 1; diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index 65956c9b2e5..ab5b4c13f85 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -1072,6 +1072,9 @@ void* __cdecl MSVCRT_malloc(MSVCRT_size_t); void* __cdecl MSVCRT_calloc(MSVCRT_size_t,MSVCRT_size_t); void* __cdecl MSVCRT_realloc(void*,MSVCRT_size_t);
+int __cdecl MSVCRT_isalpha(int c); +int __cdecl MSVCRT_isdigit(int c); +int __cdecl MSVCRT_isspace(int c); int __cdecl MSVCRT_iswalpha(MSVCRT_wint_t); int __cdecl MSVCRT_iswspace(MSVCRT_wint_t); int __cdecl MSVCRT_iswdigit(MSVCRT_wint_t); diff --git a/dlls/msvcrt/printf.h b/dlls/msvcrt/printf.h index cb83c05ff9f..f8b200c7e54 100644 --- a/dlls/msvcrt/printf.h +++ b/dlls/msvcrt/printf.h @@ -57,7 +57,7 @@ static inline const APICHAR* FUNC_NAME(pf_parse_int)(const APICHAR *fmt, int *va { *val = 0;
- while(isdigit(*fmt)) { + while (*fmt >= '0' && *fmt <= '9') { *val *= 10; *val += *fmt++ - '0'; } @@ -1041,7 +1041,7 @@ int FUNC_NAME(pf_printf)(FUNC_NAME(puts_clbk) pf_puts, void *puts_ctx, const API flags.LeftAlign = TRUE; flags.FieldLength = -flags.FieldLength; } - } else while(isdigit(*p)) { + } else while (*p >= '0' && *p <= '9') { flags.FieldLength *= 10; flags.FieldLength += *p++ - '0'; } @@ -1059,7 +1059,7 @@ int FUNC_NAME(pf_printf)(FUNC_NAME(puts_clbk) pf_puts, void *puts_ctx, const API i = -1;
flags.Precision = pf_args(args_ctx, i, VT_INT, valist).get_int; - } else while(isdigit(*p)) { + } else while (*p >= '0' && *p <= '9') { flags.Precision *= 10; flags.Precision += *p++ - '0'; } diff --git a/dlls/msvcrt/scanf.h b/dlls/msvcrt/scanf.h index e1a194e39fa..4750fae0f4a 100644 --- a/dlls/msvcrt/scanf.h +++ b/dlls/msvcrt/scanf.h @@ -28,7 +28,6 @@ #define _EOF_ MSVCRT_WEOF #define _EOF_RET (short)MSVCRT_WEOF #define _ISSPACE_(c) MSVCRT_iswspace(c) -#define _ISDIGIT_(c) MSVCRT_iswdigit(c) #define _WIDE2SUPPORTED_(c) c /* No conversion needed (wide to wide) */ #define _CHAR2SUPPORTED_(c) c /* FIXME: convert char to wide char */ #define _CHAR2DIGIT_(c, base) wchar2digit((c), (base)) @@ -37,8 +36,7 @@ #define _CHAR_ char #define _EOF_ MSVCRT_EOF #define _EOF_RET MSVCRT_EOF -#define _ISSPACE_(c) isspace(c) -#define _ISDIGIT_(c) isdigit(c) +#define _ISSPACE_(c) MSVCRT_isspace(c) #define _WIDE2SUPPORTED_(c) c /* FIXME: convert wide char to char */ #define _CHAR2SUPPORTED_(c) c /* No conversion needed (char to char) */ #define _CHAR2DIGIT_(c, base) char2digit((c), (base)) @@ -260,7 +258,7 @@ _FUNCTION_ { /* read prefix (if any) */ while (!prefix_finished) { /* look for width specification */ - while (_ISDIGIT_(*format)) { + while (*format >= '0' && *format <= '9') { width *= 10; width += *format++ - '0'; } @@ -721,7 +719,6 @@ _FUNCTION_ { #undef _EOF_ #undef _EOF_RET #undef _ISSPACE_ -#undef _ISDIGIT_ #undef _CHAR2SUPPORTED_ #undef _WIDE2SUPPORTED_ #undef _CHAR2DIGIT_ diff --git a/dlls/msvcrt/undname.c b/dlls/msvcrt/undname.c index 69eef44654e..23317f49605 100644 --- a/dlls/msvcrt/undname.c +++ b/dlls/msvcrt/undname.c @@ -857,7 +857,7 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct, if (!get_modified_type(ct, sym, pmt_ref, in_args ? dt : 'P', in_args)) goto done; break; case 'P': /* Pointer */ - if (isdigit(*sym->current)) + if (MSVCRT_isdigit(*sym->current)) { /* FIXME: * P6 = Function pointer