mirror of
https://github.com/python/cpython.git
synced 2025-10-17 20:28:43 +00:00
#1316: remove redundant PyLong_Check calls when PyInt_Check was already called.
This commit is contained in:
parent
083bea49a8
commit
e1a0d11c5c
7 changed files with 24 additions and 31 deletions
|
@ -76,12 +76,7 @@ PyObject* pysqlite_row_subscript(pysqlite_Row* self, PyObject* idx)
|
|||
|
||||
PyObject* item;
|
||||
|
||||
if (PyInt_Check(idx)) {
|
||||
_idx = PyInt_AsLong(idx);
|
||||
item = PyTuple_GetItem(self->data, _idx);
|
||||
Py_XINCREF(item);
|
||||
return item;
|
||||
} else if (PyLong_Check(idx)) {
|
||||
if (PyLong_Check(idx)) {
|
||||
_idx = PyLong_AsLong(idx);
|
||||
item = PyTuple_GetItem(self->data, _idx);
|
||||
Py_XINCREF(item);
|
||||
|
|
|
@ -80,9 +80,10 @@ int pysqlite_statement_create(pysqlite_Statement* self, pysqlite_Connection* con
|
|||
int pysqlite_statement_bind_parameter(pysqlite_Statement* self, int pos, PyObject* parameter)
|
||||
{
|
||||
int rc = SQLITE_OK;
|
||||
long longval;
|
||||
#ifdef HAVE_LONG_LONG
|
||||
PY_LONG_LONG longlongval;
|
||||
#else
|
||||
long longval;
|
||||
#endif
|
||||
const char* buffer;
|
||||
char* string;
|
||||
|
@ -91,14 +92,16 @@ int pysqlite_statement_bind_parameter(pysqlite_Statement* self, int pos, PyObjec
|
|||
|
||||
if (parameter == Py_None) {
|
||||
rc = sqlite3_bind_null(self->st, pos);
|
||||
} else if (PyInt_CheckExact(parameter)) {
|
||||
longval = PyInt_AsLong(parameter);
|
||||
rc = sqlite3_bind_int64(self->st, pos, (sqlite_int64)longval);
|
||||
#ifdef HAVE_LONG_LONG
|
||||
} else if (PyLong_Check(parameter)) {
|
||||
longlongval = PyLong_AsLongLong(parameter);
|
||||
/* in the overflow error case, longlongval is -1, and an exception is set */
|
||||
rc = sqlite3_bind_int64(self->st, pos, (sqlite_int64)longlongval);
|
||||
#else
|
||||
} else if (PyLong_Check(parameter)) {
|
||||
longval = PyLong_AsLong(parameter);
|
||||
/* in the overflow error case, longval is -1, and an exception is set */
|
||||
rc = sqlite3_bind_int64(self->st, pos, (sqlite_int64)longval);
|
||||
#endif
|
||||
} else if (PyFloat_Check(parameter)) {
|
||||
rc = sqlite3_bind_double(self->st, pos, PyFloat_AsDouble(parameter));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue