summaryrefslogtreecommitdiffstats
path: root/Objects/stringlib/split.h
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/stringlib/split.h')
-rw-r--r--Objects/stringlib/split.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/Objects/stringlib/split.h b/Objects/stringlib/split.h
index 31f77a7..60e7767 100644
--- a/Objects/stringlib/split.h
+++ b/Objects/stringlib/split.h
@@ -1,5 +1,8 @@
/* stringlib: split implementation */
+#ifndef STRINGLIB_SPLIT_H
+#define STRINGLIB_SPLIT_H
+
#ifndef STRINGLIB_FASTSEARCH_H
#error must include "stringlib/fastsearch.h" before including this module
#endif
@@ -51,7 +54,7 @@
#define FIX_PREALLOC_SIZE(list) Py_SIZE(list) = count
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(split_whitespace)(PyObject* str_obj,
+stringlib_split_whitespace(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
Py_ssize_t maxcount)
{
@@ -99,7 +102,7 @@ STRINGLIB(split_whitespace)(PyObject* str_obj,
}
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(split_char)(PyObject* str_obj,
+stringlib_split_char(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
const STRINGLIB_CHAR ch,
Py_ssize_t maxcount)
@@ -142,7 +145,7 @@ STRINGLIB(split_char)(PyObject* str_obj,
}
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(split)(PyObject* str_obj,
+stringlib_split(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
const STRINGLIB_CHAR* sep, Py_ssize_t sep_len,
Py_ssize_t maxcount)
@@ -155,7 +158,7 @@ STRINGLIB(split)(PyObject* str_obj,
return NULL;
}
else if (sep_len == 1)
- return STRINGLIB(split_char)(str_obj, str, str_len, sep[0], maxcount);
+ return stringlib_split_char(str_obj, str, str_len, sep[0], maxcount);
list = PyList_New(PREALLOC_SIZE(maxcount));
if (list == NULL)
@@ -163,7 +166,7 @@ STRINGLIB(split)(PyObject* str_obj,
i = j = 0;
while (maxcount-- > 0) {
- pos = FASTSEARCH(str+i, str_len-i, sep, sep_len, -1, FAST_SEARCH);
+ pos = fastsearch(str+i, str_len-i, sep, sep_len, -1, FAST_SEARCH);
if (pos < 0)
break;
j = i + pos;
@@ -190,7 +193,7 @@ STRINGLIB(split)(PyObject* str_obj,
}
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(rsplit_whitespace)(PyObject* str_obj,
+stringlib_rsplit_whitespace(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
Py_ssize_t maxcount)
{
@@ -240,7 +243,7 @@ STRINGLIB(rsplit_whitespace)(PyObject* str_obj,
}
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(rsplit_char)(PyObject* str_obj,
+stringlib_rsplit_char(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
const STRINGLIB_CHAR ch,
Py_ssize_t maxcount)
@@ -284,7 +287,7 @@ STRINGLIB(rsplit_char)(PyObject* str_obj,
}
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(rsplit)(PyObject* str_obj,
+stringlib_rsplit(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
const STRINGLIB_CHAR* sep, Py_ssize_t sep_len,
Py_ssize_t maxcount)
@@ -297,7 +300,7 @@ STRINGLIB(rsplit)(PyObject* str_obj,
return NULL;
}
else if (sep_len == 1)
- return STRINGLIB(rsplit_char)(str_obj, str, str_len, sep[0], maxcount);
+ return stringlib_rsplit_char(str_obj, str, str_len, sep[0], maxcount);
list = PyList_New(PREALLOC_SIZE(maxcount));
if (list == NULL)
@@ -305,7 +308,7 @@ STRINGLIB(rsplit)(PyObject* str_obj,
j = str_len;
while (maxcount-- > 0) {
- pos = FASTSEARCH(str, j, sep, sep_len, -1, FAST_RSEARCH);
+ pos = fastsearch(str, j, sep, sep_len, -1, FAST_RSEARCH);
if (pos < 0)
break;
SPLIT_ADD(str, pos + sep_len, j);
@@ -333,7 +336,7 @@ STRINGLIB(rsplit)(PyObject* str_obj,
}
Py_LOCAL_INLINE(PyObject *)
-STRINGLIB(splitlines)(PyObject* str_obj,
+stringlib_splitlines(PyObject* str_obj,
const STRINGLIB_CHAR* str, Py_ssize_t str_len,
int keepends)
{
@@ -345,8 +348,8 @@ STRINGLIB(splitlines)(PyObject* str_obj,
and the appends only done when the prealloc buffer is full.
That's too much work for little gain.*/
- Py_ssize_t i;
- Py_ssize_t j;
+ register Py_ssize_t i;
+ register Py_ssize_t j;
PyObject *list = PyList_New(0);
PyObject *sub;
@@ -388,3 +391,4 @@ STRINGLIB(splitlines)(PyObject* str_obj,
return NULL;
}
+#endif