Issue #23573: Fix bytes.rfind() and bytearray.rfind() on Windows
Windows has no memrchr() function. This change is only a workaround, the optimization must be reenabled on other platforms.
This commit is contained in:
parent
39183dfc68
commit
dabbfe7b30
|
@ -1166,7 +1166,8 @@ bytearray_find_internal(PyByteArrayObject *self, PyObject *args, int dir)
|
|||
ADJUST_INDICES(start, end, len);
|
||||
if (end - start < sub_len)
|
||||
res = -1;
|
||||
else if (sub_len == 1) {
|
||||
/* Issue #23573: FIXME, windows has no memrchr() */
|
||||
else if (sub_len == 1 && dir > 0) {
|
||||
unsigned char needle = *sub;
|
||||
int mode = (dir > 0) ? FAST_SEARCH : FAST_RSEARCH;
|
||||
res = stringlib_fastsearch_memchr_1char(
|
||||
|
|
|
@ -1938,7 +1938,8 @@ bytes_find_internal(PyBytesObject *self, PyObject *args, int dir)
|
|||
ADJUST_INDICES(start, end, len);
|
||||
if (end - start < sub_len)
|
||||
res = -1;
|
||||
else if (sub_len == 1) {
|
||||
/* Issue #23573: FIXME, windows has no memrchr() */
|
||||
else if (sub_len == 1 && dir > 0) {
|
||||
unsigned char needle = *sub;
|
||||
int mode = (dir > 0) ? FAST_SEARCH : FAST_RSEARCH;
|
||||
res = stringlib_fastsearch_memchr_1char(
|
||||
|
|
Loading…
Reference in New Issue