summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-01-15 00:31:49 (GMT)
committerGuido van Rossum <guido@python.org>2007-01-15 00:31:49 (GMT)
commit523d4f942c108db6fcd94a26d1cfd1d579d49426 (patch)
tree95c7cc7634cb729d87b3161bfb42fde2e413082f
parentf4100005ae552ab4d5112b270a45c6091c30045e (diff)
downloadcpython-523d4f942c108db6fcd94a26d1cfd1d579d49426.zip
cpython-523d4f942c108db6fcd94a26d1cfd1d579d49426.tar.gz
cpython-523d4f942c108db6fcd94a26d1cfd1d579d49426.tar.bz2
Fix the sqlite failure -- it was the usual, PyInt_Check -> PyInt_CheckExact.
Clarify some OverflowError messages from the various PyLong_AsXXX methods.
-rw-r--r--Misc/NEWS6
-rw-r--r--Modules/_sqlite/statement.c2
-rw-r--r--Objects/longobject.c10
3 files changed, 9 insertions, 9 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 830a66a..0f19539 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -36,9 +36,9 @@ TO DO
Core and Builtins
-----------------
-- Int/Long unification is halfway complete. There are a few broken tests,
- the 'long' built-in hasn't been removed yet, and literals with trailing
- 'L' or 'l' are still recognized. Performance may be sub-optimal.
+- Int/Long unification is halfway complete. The 'long' built-in type
+ hasn't been removed yet, and literals with trailing 'L' or 'l' are
+ still recognized. Performance may be sub-optimal.
- 'except E, V' must now be spelled as 'except E as V' and deletes V
at the end of the except clause; V must be a simple name.
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 4e45636..7763d10 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -100,7 +100,7 @@ int statement_bind_parameter(Statement* self, int pos, PyObject* parameter)
if (parameter == Py_None) {
rc = sqlite3_bind_null(self->st, pos);
- } else if (PyInt_Check(parameter)) {
+ } else if (PyInt_CheckExact(parameter)) {
longval = PyInt_AsLong(parameter);
rc = sqlite3_bind_int64(self->st, pos, (sqlite_int64)longval);
#ifdef HAVE_LONG_LONG
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 03d22f5..250215c 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -364,7 +364,7 @@ PyLong_AsLong(PyObject *vv)
Py_DECREF(vv);
}
PyErr_SetString(PyExc_OverflowError,
- "int too large to convert to int");
+ "Python int too large to convert to C long");
return -1;
}
@@ -427,7 +427,7 @@ PyLong_AsSsize_t(PyObject *vv) {
overflow:
PyErr_SetString(PyExc_OverflowError,
- "int too large to convert to ");
+ "Python int too large to convert to C ssize_t");
return -1;
}
@@ -462,7 +462,7 @@ PyLong_AsUnsignedLong(PyObject *vv)
x = (x << SHIFT) + v->ob_digit[i];
if ((x >> SHIFT) != prev) {
PyErr_SetString(PyExc_OverflowError,
- "int too large to convert");
+ "python int too large to convert to C unsigned long");
return (unsigned long) -1;
}
}
@@ -500,7 +500,7 @@ PyLong_AsSize_t(PyObject *vv)
x = (x << SHIFT) + v->ob_digit[i];
if ((x >> SHIFT) != prev) {
PyErr_SetString(PyExc_OverflowError,
- "int too large to convert");
+ "Python int too large to convert to C size_t");
return (unsigned long) -1;
}
}
@@ -943,7 +943,7 @@ PyLong_AsDouble(PyObject *vv)
overflow:
PyErr_SetString(PyExc_OverflowError,
- "int too large to convert to float");
+ "Python int too large to convert to C double");
return -1.0;
}