diff options
Diffstat (limited to 'Objects/stringlib/stringdefs.h')
-rw-r--r-- | Objects/stringlib/stringdefs.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Objects/stringlib/stringdefs.h b/Objects/stringlib/stringdefs.h index daaa2e2..d08971a 100644 --- a/Objects/stringlib/stringdefs.h +++ b/Objects/stringlib/stringdefs.h @@ -6,6 +6,15 @@ compiled as unicode. */ #define STRINGLIB_IS_UNICODE 0 +/* _tolower and _toupper are defined by SUSv2, but they're not ISO C */ +/* This needs to be cleaned up. See issue 5793. */ +#ifndef _tolower +#define _tolower tolower +#endif +#ifndef _toupper +#define _toupper toupper +#endif + #define STRINGLIB_OBJECT PyStringObject #define STRINGLIB_CHAR char #define STRINGLIB_TYPE_NAME "string" @@ -13,8 +22,8 @@ #define STRINGLIB_EMPTY nullstring #define STRINGLIB_ISDECIMAL(x) ((x >= '0') && (x <= '9')) #define STRINGLIB_TODECIMAL(x) (STRINGLIB_ISDECIMAL(x) ? (x - '0') : -1) -#define STRINGLIB_TOUPPER toupper -#define STRINGLIB_TOLOWER tolower +#define STRINGLIB_TOUPPER(x) _toupper(Py_CHARMASK(x)) +#define STRINGLIB_TOLOWER(x) _tolower(Py_CHARMASK(x)) #define STRINGLIB_FILL memset #define STRINGLIB_STR PyString_AS_STRING #define STRINGLIB_LEN PyString_GET_SIZE @@ -24,5 +33,6 @@ #define STRINGLIB_CMP memcmp #define STRINGLIB_TOSTR PyObject_Str #define STRINGLIB_GROUPING _PyString_InsertThousandsGrouping +#define STRINGLIB_GROUPING_LOCALE _PyString_InsertThousandsGroupingLocale #endif /* !STRINGLIB_STRINGDEFS_H */ |