17db96d56Sopenharmony_ci#ifndef STRINGLIB_UNICODEDEFS_H
27db96d56Sopenharmony_ci#define STRINGLIB_UNICODEDEFS_H
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci/* this is sort of a hack.  there's at least one place (formatting
57db96d56Sopenharmony_ci   floats) where some stringlib code takes a different path if it's
67db96d56Sopenharmony_ci   compiled as unicode. */
77db96d56Sopenharmony_ci#define STRINGLIB_IS_UNICODE     1
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ci#define FASTSEARCH               fastsearch
107db96d56Sopenharmony_ci#define STRINGLIB(F)             stringlib_##F
117db96d56Sopenharmony_ci#define STRINGLIB_OBJECT         PyUnicodeObject
127db96d56Sopenharmony_ci#define STRINGLIB_SIZEOF_CHAR    Py_UNICODE_SIZE
137db96d56Sopenharmony_ci#define STRINGLIB_CHAR           Py_UNICODE
147db96d56Sopenharmony_ci#define STRINGLIB_TYPE_NAME      "unicode"
157db96d56Sopenharmony_ci#define STRINGLIB_PARSE_CODE     "U"
167db96d56Sopenharmony_ci#define STRINGLIB_ISSPACE        Py_UNICODE_ISSPACE
177db96d56Sopenharmony_ci#define STRINGLIB_ISLINEBREAK    BLOOM_LINEBREAK
187db96d56Sopenharmony_ci#define STRINGLIB_ISDECIMAL      Py_UNICODE_ISDECIMAL
197db96d56Sopenharmony_ci#define STRINGLIB_TODECIMAL      Py_UNICODE_TODECIMAL
207db96d56Sopenharmony_ci#define STRINGLIB_STR            PyUnicode_AS_UNICODE
217db96d56Sopenharmony_ci#define STRINGLIB_LEN            PyUnicode_GET_SIZE
227db96d56Sopenharmony_ci#define STRINGLIB_NEW            PyUnicode_FromUnicode
237db96d56Sopenharmony_ci#define STRINGLIB_CHECK          PyUnicode_Check
247db96d56Sopenharmony_ci#define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
257db96d56Sopenharmony_ci#define STRINGLIB_MUTABLE 0
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ci#define STRINGLIB_TOSTR          PyObject_Str
287db96d56Sopenharmony_ci#define STRINGLIB_TOASCII        PyObject_ASCII
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci#define STRINGLIB_WANT_CONTAINS_OBJ 1
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci#endif /* !STRINGLIB_UNICODEDEFS_H */
33