mirror of
https://github.com/python/cpython.git
synced 2025-09-19 07:00:59 +00:00
Issue 16398: Add assertions to show why memcmp is safe.
This commit is contained in:
parent
21777acd68
commit
231ee4dc9d
1 changed files with 4 additions and 1 deletions
|
@ -425,8 +425,9 @@ _deque_rotate(dequeobject *deque, Py_ssize_t n)
|
||||||
else if (n < -halflen)
|
else if (n < -halflen)
|
||||||
n += len;
|
n += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(deque->len > 1);
|
assert(deque->len > 1);
|
||||||
|
assert((n < len / 2) || (n > len / -2));
|
||||||
|
|
||||||
deque->state++;
|
deque->state++;
|
||||||
for (i=0 ; i<n ; ) {
|
for (i=0 ; i<n ; ) {
|
||||||
if (deque->leftindex == 0) {
|
if (deque->leftindex == 0) {
|
||||||
|
@ -446,6 +447,8 @@ _deque_rotate(dequeobject *deque, Py_ssize_t n)
|
||||||
if (m > deque->leftindex)
|
if (m > deque->leftindex)
|
||||||
m = deque->leftindex;
|
m = deque->leftindex;
|
||||||
assert (m > 0);
|
assert (m > 0);
|
||||||
|
assert (deque->leftblock != deque->rightblock ||
|
||||||
|
deque->leftindex < deque->rightindex - m + 1);
|
||||||
memcpy(&deque->leftblock->data[deque->leftindex - m],
|
memcpy(&deque->leftblock->data[deque->leftindex - m],
|
||||||
&deque->rightblock->data[deque->rightindex - m + 1],
|
&deque->rightblock->data[deque->rightindex - m + 1],
|
||||||
m * sizeof(PyObject *));
|
m * sizeof(PyObject *));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue