diff options
author | Petri Lehtinen <petri@digip.org> | 2012-02-19 19:38:00 (GMT) |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2012-02-21 11:49:50 (GMT) |
commit | 4fe85abab9f0188733e654a72353217b43f95920 (patch) | |
tree | f8fbb08b8661d4a4ac49a052604a9e70eb453c7e /Modules/_sqlite | |
parent | 29877e8e04755c919b42ee012495f2e9671f3251 (diff) | |
download | cpython-4fe85abab9f0188733e654a72353217b43f95920.zip cpython-4fe85abab9f0188733e654a72353217b43f95920.tar.gz cpython-4fe85abab9f0188733e654a72353217b43f95920.tar.bz2 |
sqlite3: Fix 64-bit integer handling in user functions on 32-bit architectures
Closes #8033.
Diffstat (limited to 'Modules/_sqlite')
-rw-r--r-- | Modules/_sqlite/connection.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c index 7d12d5e..9d4c72f 100644 --- a/Modules/_sqlite/connection.c +++ b/Modules/_sqlite/connection.c @@ -484,7 +484,6 @@ error: void _pysqlite_set_result(sqlite3_context* context, PyObject* py_val) { - long longval; const char* buffer; Py_ssize_t buflen; @@ -493,8 +492,7 @@ void _pysqlite_set_result(sqlite3_context* context, PyObject* py_val) } else if (py_val == Py_None) { sqlite3_result_null(context); } else if (PyLong_Check(py_val)) { - longval = PyLong_AsLong(py_val); - sqlite3_result_int64(context, (PY_LONG_LONG)longval); + sqlite3_result_int64(context, PyLong_AsLongLong(py_val)); } else if (PyFloat_Check(py_val)) { sqlite3_result_double(context, PyFloat_AsDouble(py_val)); } else if (PyUnicode_Check(py_val)) { @@ -519,7 +517,6 @@ PyObject* _pysqlite_build_py_params(sqlite3_context *context, int argc, sqlite3_ sqlite3_value* cur_value; PyObject* cur_py_value; const char* val_str; - PY_LONG_LONG val_int; Py_ssize_t buflen; args = PyTuple_New(argc); @@ -531,8 +528,7 @@ PyObject* _pysqlite_build_py_params(sqlite3_context *context, int argc, sqlite3_ cur_value = argv[i]; switch (sqlite3_value_type(argv[i])) { case SQLITE_INTEGER: - val_int = sqlite3_value_int64(cur_value); - cur_py_value = PyLong_FromLong((long)val_int); + cur_py_value = PyLong_FromLongLong(sqlite3_value_int64(cur_value)); break; case SQLITE_FLOAT: cur_py_value = PyFloat_FromDouble(sqlite3_value_double(cur_value)); |