diff options
Diffstat (limited to 'Objects/unicodeobject.c')
| -rw-r--r-- | Objects/unicodeobject.c | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 1f6f738..06c8fc3 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -6040,16 +6040,12 @@ static PyObject * unicode_find(PyUnicodeObject *self, PyObject *args) { PyObject *substring; - Py_ssize_t start = 0; - Py_ssize_t end = PY_SSIZE_T_MAX; + Py_ssize_t start; + Py_ssize_t end; Py_ssize_t result; - if (!PyArg_ParseTuple(args, "O|O&O&:find", &substring, - _PyEval_SliceIndex, &start, _PyEval_SliceIndex, &end)) + if (!_ParseTupleFinds(args, &substring, &start, &end)) return NULL; - substring = PyUnicode_FromObject(substring); - if (!substring) - return NULL; result = stringlib_find_slice( PyUnicode_AS_UNICODE(self), PyUnicode_GET_SIZE(self), @@ -6110,15 +6106,11 @@ unicode_index(PyUnicodeObject *self, PyObject *args) { Py_ssize_t result; PyObject *substring; - Py_ssize_t start = 0; - Py_ssize_t end = PY_SSIZE_T_MAX; + Py_ssize_t start; + Py_ssize_t end; - if (!PyArg_ParseTuple(args, "O|O&O&:index", &substring, - _PyEval_SliceIndex, &start, _PyEval_SliceIndex, &end)) + if (!_ParseTupleFinds(args, &substring, &start, &end)) return NULL; - substring = PyUnicode_FromObject(substring); - if (!substring) - return NULL; result = stringlib_find_slice( PyUnicode_AS_UNICODE(self), PyUnicode_GET_SIZE(self), @@ -6781,16 +6773,12 @@ static PyObject * unicode_rfind(PyUnicodeObject *self, PyObject *args) { PyObject *substring; - Py_ssize_t start = 0; - Py_ssize_t end = PY_SSIZE_T_MAX; + Py_ssize_t start; + Py_ssize_t end; Py_ssize_t result; - if (!PyArg_ParseTuple(args, "O|O&O&:rfind", &substring, - _PyEval_SliceIndex, &start, _PyEval_SliceIndex, &end)) - return NULL; - substring = PyUnicode_FromObject(substring); - if (!substring) - return NULL; + if (!_ParseTupleFinds(args, &substring, &start, &end)) + return NULL; result = stringlib_rfind_slice( PyUnicode_AS_UNICODE(self), PyUnicode_GET_SIZE(self), @@ -6812,16 +6800,12 @@ static PyObject * unicode_rindex(PyUnicodeObject *self, PyObject *args) { PyObject *substring; - Py_ssize_t start = 0; - Py_ssize_t end = PY_SSIZE_T_MAX; + Py_ssize_t start; + Py_ssize_t end; Py_ssize_t result; - if (!PyArg_ParseTuple(args, "O|O&O&:rindex", &substring, - _PyEval_SliceIndex, &start, _PyEval_SliceIndex, &end)) - return NULL; - substring = PyUnicode_FromObject(substring); - if (!substring) - return NULL; + if (!_ParseTupleFinds(args, &substring, &start, &end)) + return NULL; result = stringlib_rfind_slice( PyUnicode_AS_UNICODE(self), PyUnicode_GET_SIZE(self), |
