1 | /* this is sort of a hack. there's at least one place (formatting |
2 | floats) where some stringlib code takes a different path if it's |
3 | compiled as unicode. */ |
4 | #define STRINGLIB_IS_UNICODE 1 |
5 | |
6 | #define FASTSEARCH ucs2lib_fastsearch |
7 | #define STRINGLIB(F) ucs2lib_##F |
8 | #define STRINGLIB_OBJECT PyUnicodeObject |
9 | #define STRINGLIB_SIZEOF_CHAR 2 |
10 | #define STRINGLIB_MAX_CHAR 0xFFFFu |
11 | #define STRINGLIB_CHAR Py_UCS2 |
12 | #define STRINGLIB_TYPE_NAME "unicode" |
13 | #define STRINGLIB_PARSE_CODE "U" |
14 | #define STRINGLIB_ISSPACE Py_UNICODE_ISSPACE |
15 | #define STRINGLIB_ISLINEBREAK BLOOM_LINEBREAK |
16 | #define STRINGLIB_ISDECIMAL Py_UNICODE_ISDECIMAL |
17 | #define STRINGLIB_TODECIMAL Py_UNICODE_TODECIMAL |
18 | #define STRINGLIB_STR PyUnicode_2BYTE_DATA |
19 | #define STRINGLIB_LEN PyUnicode_GET_LENGTH |
20 | #define STRINGLIB_NEW _PyUnicode_FromUCS2 |
21 | #define STRINGLIB_CHECK PyUnicode_Check |
22 | #define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact |
23 | |
24 | #define STRINGLIB_TOSTR PyObject_Str |
25 | #define STRINGLIB_TOASCII PyObject_ASCII |
26 | |