From 8cb753d9373d132b745aa23f77e38580d959b545 Mon Sep 17 00:00:00 2001 From: Anatoly Myachev Date: Wed, 6 Mar 2019 11:45:43 +0300 Subject: [PATCH 1/2] Safer version of ascii macros in portable.h --- pandas/_libs/src/headers/portable.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandas/_libs/src/headers/portable.h b/pandas/_libs/src/headers/portable.h index 9ac4ebc306baa..36caaea6700b9 100644 --- a/pandas/_libs/src/headers/portable.h +++ b/pandas/_libs/src/headers/portable.h @@ -7,8 +7,8 @@ // GH-23516 - works around locale perf issues // from MUSL libc, MIT Licensed - see LICENSES -#define isdigit_ascii(c) ((unsigned)c - '0' < 10) -#define isspace_ascii(c) (c == ' ' || (unsigned)c-'\t' < 5) -#define toupper_ascii(c) (((unsigned)c-'a' < 26) ? (c & 0x5f) : c) +#define isdigit_ascii(c) (((unsigned)(c) - '0') < 10u) +#define isspace_ascii(c) (((c) == ' ') || (((unsigned)(c) - '\t') < 5)) +#define toupper_ascii(c) ((((unsigned)(c) - 'a') < 26) ? ((c) & 0x5f) : (c)) #endif From 0d75c62fbc3fc68d3f84cfa5bae9325ebaf80ec6 Mon Sep 17 00:00:00 2001 From: Vasily Litvinov Date: Fri, 22 Mar 2019 18:10:07 +0300 Subject: [PATCH 2/2] Add missing tolower_ascii macro needed by lowercase() in parse_helper.h --- pandas/_libs/src/headers/portable.h | 1 + 1 file changed, 1 insertion(+) diff --git a/pandas/_libs/src/headers/portable.h b/pandas/_libs/src/headers/portable.h index 36caaea6700b9..1976addace3f3 100644 --- a/pandas/_libs/src/headers/portable.h +++ b/pandas/_libs/src/headers/portable.h @@ -10,5 +10,6 @@ #define isdigit_ascii(c) (((unsigned)(c) - '0') < 10u) #define isspace_ascii(c) (((c) == ' ') || (((unsigned)(c) - '\t') < 5)) #define toupper_ascii(c) ((((unsigned)(c) - 'a') < 26) ? ((c) & 0x5f) : (c)) +#define tolower_ascii(c) ((((unsigned)(c) - 'A') < 26) ? ((c) | 0x20) : (c)) #endif