17db96d56Sopenharmony_ci/* this is sort of a hack.  there's at least one place (formatting
27db96d56Sopenharmony_ci   floats) where some stringlib code takes a different path if it's
37db96d56Sopenharmony_ci   compiled as unicode. */
47db96d56Sopenharmony_ci#define STRINGLIB_IS_UNICODE     1
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ci#define FASTSEARCH               asciilib_fastsearch
77db96d56Sopenharmony_ci#define STRINGLIB(F)             asciilib_##F
87db96d56Sopenharmony_ci#define STRINGLIB_OBJECT         PyUnicodeObject
97db96d56Sopenharmony_ci#define STRINGLIB_SIZEOF_CHAR    1
107db96d56Sopenharmony_ci#define STRINGLIB_MAX_CHAR       0x7Fu
117db96d56Sopenharmony_ci#define STRINGLIB_CHAR           Py_UCS1
127db96d56Sopenharmony_ci#define STRINGLIB_TYPE_NAME      "unicode"
137db96d56Sopenharmony_ci#define STRINGLIB_PARSE_CODE     "U"
147db96d56Sopenharmony_ci#define STRINGLIB_ISSPACE        Py_UNICODE_ISSPACE
157db96d56Sopenharmony_ci#define STRINGLIB_ISLINEBREAK    BLOOM_LINEBREAK
167db96d56Sopenharmony_ci#define STRINGLIB_ISDECIMAL      Py_UNICODE_ISDECIMAL
177db96d56Sopenharmony_ci#define STRINGLIB_TODECIMAL      Py_UNICODE_TODECIMAL
187db96d56Sopenharmony_ci#define STRINGLIB_STR            PyUnicode_1BYTE_DATA
197db96d56Sopenharmony_ci#define STRINGLIB_LEN            PyUnicode_GET_LENGTH
207db96d56Sopenharmony_ci#define STRINGLIB_NEW(STR,LEN)   _PyUnicode_FromASCII((const char*)(STR),(LEN))
217db96d56Sopenharmony_ci#define STRINGLIB_CHECK          PyUnicode_Check
227db96d56Sopenharmony_ci#define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
237db96d56Sopenharmony_ci#define STRINGLIB_MUTABLE 0
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci#define STRINGLIB_TOSTR          PyObject_Str
267db96d56Sopenharmony_ci#define STRINGLIB_TOASCII        PyObject_ASCII
27