同步操作将从 OpenHarmony-SIG/python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
/* stringlib: partition implementation */#ifndef STRINGLIB_FASTSEARCH_H#error must include "stringlib/fastsearch.h" before including this module#endifPy_LOCAL_INLINE(PyObject*)STRINGLIB(partition)(PyObject* str_obj,const STRINGLIB_CHAR* str, Py_ssize_t str_len,PyObject* sep_obj,const STRINGLIB_CHAR* sep, Py_ssize_t sep_len){PyObject* out;Py_ssize_t pos;if (sep_len == 0) {PyErr_SetString(PyExc_ValueError, "empty separator");return NULL;}out = PyTuple_New(3);if (!out)return NULL;pos = FASTSEARCH(str, str_len, sep, sep_len, -1, FAST_SEARCH);if (pos < 0) {#if STRINGLIB_MUTABLEPyTuple_SET_ITEM(out, 0, STRINGLIB_NEW(str, str_len));PyTuple_SET_ITEM(out, 1, STRINGLIB_NEW(NULL, 0));PyTuple_SET_ITEM(out, 2, STRINGLIB_NEW(NULL, 0));if (PyErr_Occurred()) {Py_DECREF(out);return NULL;}#elsePy_INCREF(str_obj);PyTuple_SET_ITEM(out, 0, (PyObject*) str_obj);Py_INCREF(STRINGLIB_EMPTY);PyTuple_SET_ITEM(out, 1, (PyObject*) STRINGLIB_EMPTY);Py_INCREF(STRINGLIB_EMPTY);PyTuple_SET_ITEM(out, 2, (PyObject*) STRINGLIB_EMPTY);#endifreturn out;}PyTuple_SET_ITEM(out, 0, STRINGLIB_NEW(str, pos));Py_INCREF(sep_obj);PyTuple_SET_ITEM(out, 1, sep_obj);pos += sep_len;PyTuple_SET_ITEM(out, 2, STRINGLIB_NEW(str + pos, str_len - pos));if (PyErr_Occurred()) {Py_DECREF(out);return NULL;}return out;}Py_LOCAL_INLINE(PyObject*)STRINGLIB(rpartition)(PyObject* str_obj,const STRINGLIB_CHAR* str, Py_ssize_t str_len,PyObject* sep_obj,const STRINGLIB_CHAR* sep, Py_ssize_t sep_len){PyObject* out;Py_ssize_t pos;if (sep_len == 0) {PyErr_SetString(PyExc_ValueError, "empty separator");return NULL;}out = PyTuple_New(3);if (!out)return NULL;pos = FASTSEARCH(str, str_len, sep, sep_len, -1, FAST_RSEARCH);if (pos < 0) {#if STRINGLIB_MUTABLEPyTuple_SET_ITEM(out, 0, STRINGLIB_NEW(NULL, 0));PyTuple_SET_ITEM(out, 1, STRINGLIB_NEW(NULL, 0));PyTuple_SET_ITEM(out, 2, STRINGLIB_NEW(str, str_len));if (PyErr_Occurred()) {Py_DECREF(out);return NULL;}#elsePy_INCREF(STRINGLIB_EMPTY);PyTuple_SET_ITEM(out, 0, (PyObject*) STRINGLIB_EMPTY);Py_INCREF(STRINGLIB_EMPTY);PyTuple_SET_ITEM(out, 1, (PyObject*) STRINGLIB_EMPTY);Py_INCREF(str_obj);PyTuple_SET_ITEM(out, 2, (PyObject*) str_obj);#endifreturn out;}PyTuple_SET_ITEM(out, 0, STRINGLIB_NEW(str, pos));Py_INCREF(sep_obj);PyTuple_SET_ITEM(out, 1, sep_obj);pos += sep_len;PyTuple_SET_ITEM(out, 2, STRINGLIB_NEW(str + pos, str_len - pos));if (PyErr_Occurred()) {Py_DECREF(out);return NULL;}return out;}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。