#ifndef STRINGLIB_STRINGDEFS_H #define STRINGLIB_STRINGDEFS_H /* this is sort of a hack. there's at least one place (formatting floats) where some stringlib code takes a different path if it's 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" #define STRINGLIB_PARSE_CODE "S" #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(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 #define STRINGLIB_NEW PyString_FromStringAndSize #define STRINGLIB_RESIZE _PyString_Resize #define STRINGLIB_CHECK PyString_Check #define STRINGLIB_CMP memcmp #define STRINGLIB_TOSTR PyObject_Str #define STRINGLIB_GROUPING _PyString_InsertThousandsGrouping #define STRINGLIB_GROUPING_LOCALE _PyString_InsertThousandsGroupingLocale #endif /* !STRINGLIB_STRINGDEFS_H */