diff options
author | shadchin <shadchin@yandex-team.com> | 2024-06-13 19:29:50 +0300 |
---|---|---|
committer | shadchin <shadchin@yandex-team.com> | 2024-06-13 19:51:47 +0300 |
commit | 9051e2318afc1bfbd88a103f7392e622aa8c9527 (patch) | |
tree | 5c63ea23ebd5e7b7b9864903a9312aa853193ca5 /contrib/tools/python/src/Modules/_sqlite/row.c | |
parent | 224da250178b9250c7577a167d44f94f732d3627 (diff) | |
download | ydb-9051e2318afc1bfbd88a103f7392e622aa8c9527.tar.gz |
Update Python from 2.7.16 to 2.7.18
2a151e9cf2ebdfa59d250c1bbb800e908703a6f0
Diffstat (limited to 'contrib/tools/python/src/Modules/_sqlite/row.c')
-rw-r--r-- | contrib/tools/python/src/Modules/_sqlite/row.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/tools/python/src/Modules/_sqlite/row.c b/contrib/tools/python/src/Modules/_sqlite/row.c index 9ebe7b7b81f..c0da329c13e 100644 --- a/contrib/tools/python/src/Modules/_sqlite/row.c +++ b/contrib/tools/python/src/Modules/_sqlite/row.c @@ -199,14 +199,16 @@ static PyObject* pysqlite_row_richcompare(pysqlite_Row *self, PyObject *_other, Py_INCREF(Py_NotImplemented); return Py_NotImplemented; } - if (PyType_IsSubtype(Py_TYPE(_other), &pysqlite_RowType)) { + if (PyObject_TypeCheck(_other, &pysqlite_RowType)) { pysqlite_Row *other = (pysqlite_Row *)_other; - PyObject *res = PyObject_RichCompare(self->description, other->description, opid); - if ((opid == Py_EQ && res == Py_True) - || (opid == Py_NE && res == Py_False)) { - Py_DECREF(res); + int eq = PyObject_RichCompareBool(self->description, other->description, Py_EQ); + if (eq < 0) { + return NULL; + } + if (eq) { return PyObject_RichCompare(self->data, other->data, opid); } + return PyBool_FromLong(opid != Py_EQ); } Py_INCREF(Py_NotImplemented); return Py_NotImplemented; |