/* -------------------------------------------------------------------- */
/* Methods */
+#define STRINGLIB_IS_UNICODE 0
#define FASTSEARCH fastsearch
#define STRINGLIB(F) stringlib_##F
#define STRINGLIB_CHAR char
#define STRINGLIB_GET_EMPTY() bytes_get_empty()
#include "stringlib/stringdefs.h"
+#define STRINGLIB_MUTABLE 0
#include "stringlib/fastsearch.h"
#include "stringlib/count.h"
#define STRINGLIB_NEW(STR,LEN) _PyUnicode_FromASCII((const char*)(STR),(LEN))
#define STRINGLIB_CHECK PyUnicode_Check
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
#define STRINGLIB_TOSTR PyObject_Str
#define STRINGLIB_TOASCII PyObject_ASCII
Py_DECREF(seq);
return STRINGLIB_NEW(NULL, 0);
}
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (seqlen == 1) {
item = PySequence_Fast_GET_ITEM(seq, 0);
if (STRINGLIB_CHECK_EXACT(item)) {
j = i; i++;
while (i < str_len && !STRINGLIB_ISSPACE(str[i]))
i++;
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (j == 0 && i == str_len && STRINGLIB_CHECK_EXACT(str_obj)) {
/* No whitespace in str_obj, so just use it as list[0] */
Py_INCREF(str_obj);
}
}
}
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
/* ch not in str_obj, so just use str_obj as list[0] */
Py_INCREF(str_obj);
SPLIT_ADD(str, i, j);
i = j + sep_len;
}
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
/* No match in str_obj, so just use it as list[0] */
Py_INCREF(str_obj);
j = i; i--;
while (i >= 0 && !STRINGLIB_ISSPACE(str[i]))
i--;
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (j == str_len - 1 && i < 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
/* No whitespace in str_obj, so just use it as list[0] */
Py_INCREF(str_obj);
}
}
}
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
/* ch not in str_obj, so just use str_obj as list[0] */
Py_INCREF(str_obj);
SPLIT_ADD(str, pos + sep_len, j);
j = pos;
}
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (count == 0 && STRINGLIB_CHECK_EXACT(str_obj)) {
/* No match in str_obj, so just use it as list[0] */
Py_INCREF(str_obj);
if (keepends)
eol = i;
}
-#ifndef STRINGLIB_MUTABLE
+#if !STRINGLIB_MUTABLE
if (j == 0 && eol == str_len && STRINGLIB_CHECK_EXACT(str_obj)) {
/* No linebreak in str_obj, so just use it as list[0] */
if (PyList_Append(list, str_obj))
#define STRINGLIB_NEW _PyUnicode_FromUCS1
#define STRINGLIB_CHECK PyUnicode_Check
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
#define STRINGLIB_TOSTR PyObject_Str
#define STRINGLIB_TOASCII PyObject_ASCII
#define STRINGLIB_NEW _PyUnicode_FromUCS2
#define STRINGLIB_CHECK PyUnicode_Check
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
#define STRINGLIB_TOSTR PyObject_Str
#define STRINGLIB_TOASCII PyObject_ASCII
#define STRINGLIB_NEW _PyUnicode_FromUCS4
#define STRINGLIB_CHECK PyUnicode_Check
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
#define STRINGLIB_TOSTR PyObject_Str
#define STRINGLIB_TOASCII PyObject_ASCII
-#undef FASTSEARCH
-#undef STRINGLIB
-#undef STRINGLIB_SIZEOF_CHAR
-#undef STRINGLIB_MAX_CHAR
-#undef STRINGLIB_CHAR
-#undef STRINGLIB_STR
-#undef STRINGLIB_LEN
-#undef STRINGLIB_NEW
+#undef FASTSEARCH
+#undef STRINGLIB
+#undef STRINGLIB_SIZEOF_CHAR
+#undef STRINGLIB_MAX_CHAR
+#undef STRINGLIB_CHAR
+#undef STRINGLIB_STR
+#undef STRINGLIB_LEN
+#undef STRINGLIB_NEW
#undef STRINGLIB_IS_UNICODE
-
+#undef STRINGLIB_MUTABLE
#define STRINGLIB_NEW PyUnicode_FromUnicode
#define STRINGLIB_CHECK PyUnicode_Check
#define STRINGLIB_CHECK_EXACT PyUnicode_CheckExact
+#define STRINGLIB_MUTABLE 0
#define STRINGLIB_TOSTR PyObject_Str
#define STRINGLIB_TOASCII PyObject_ASCII