Use PyErr_WarnExplicit() to warn about hex/oct constants, so the

correct filename and line number are reported.
This commit is contained in:
Guido van Rossum 2002-08-12 21:54:46 +00:00
parent 7a1703d8cb
commit 715eca932e
1 changed files with 9 additions and 4 deletions

View File

@ -1157,10 +1157,15 @@ parsenumber(struct compiling *co, char *s)
if (s[0] == '0') {
x = (long) PyOS_strtoul(s, &end, 0);
if (x < 0 && errno == 0) {
if (PyErr_Warn(PyExc_DeprecationWarning,
"hex/oct constants > sys.maxint "
"will return positive values "
"in Python 2.4 and up") < 0)
if (PyErr_WarnExplicit(
PyExc_DeprecationWarning,
"hex/oct constants > sys.maxint "
"will return positive values "
"in Python 2.4 and up",
co->c_filename,
co->c_lineno,
NULL,
NULL) < 0)
return NULL;
errno = 0; /* Might be changed by PyErr_Warn() */
}