17db96d56Sopenharmony_ci#ifndef STRINGLIB_STRINGDEFS_H 27db96d56Sopenharmony_ci#define STRINGLIB_STRINGDEFS_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 0 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci#define FASTSEARCH fastsearch 107db96d56Sopenharmony_ci#define STRINGLIB(F) stringlib_##F 117db96d56Sopenharmony_ci#define STRINGLIB_OBJECT PyBytesObject 127db96d56Sopenharmony_ci#define STRINGLIB_SIZEOF_CHAR 1 137db96d56Sopenharmony_ci#define STRINGLIB_CHAR char 147db96d56Sopenharmony_ci#define STRINGLIB_TYPE_NAME "string" 157db96d56Sopenharmony_ci#define STRINGLIB_PARSE_CODE "S" 167db96d56Sopenharmony_ci#define STRINGLIB_ISSPACE Py_ISSPACE 177db96d56Sopenharmony_ci#define STRINGLIB_ISLINEBREAK(x) ((x == '\n') || (x == '\r')) 187db96d56Sopenharmony_ci#define STRINGLIB_ISDECIMAL(x) ((x >= '0') && (x <= '9')) 197db96d56Sopenharmony_ci#define STRINGLIB_TODECIMAL(x) (STRINGLIB_ISDECIMAL(x) ? (x - '0') : -1) 207db96d56Sopenharmony_ci#define STRINGLIB_STR PyBytes_AS_STRING 217db96d56Sopenharmony_ci#define STRINGLIB_LEN PyBytes_GET_SIZE 227db96d56Sopenharmony_ci#define STRINGLIB_NEW PyBytes_FromStringAndSize 237db96d56Sopenharmony_ci#define STRINGLIB_CHECK PyBytes_Check 247db96d56Sopenharmony_ci#define STRINGLIB_CHECK_EXACT PyBytes_CheckExact 257db96d56Sopenharmony_ci#define STRINGLIB_TOSTR PyObject_Str 267db96d56Sopenharmony_ci#define STRINGLIB_TOASCII PyObject_Repr 277db96d56Sopenharmony_ci#endif /* !STRINGLIB_STRINGDEFS_H */ 28