Mercurial > cpython-lru_cache-weakref
diff Python/getargs.c @ 33013:8ca8febc0a0d legacy-trunk
Fix
[ 991812 ] PyArg_ParseTuple can miss errors with warnings as exceptions
as suggested in the report.
This is definitely a 2.3 candidate (as are most of the checkins I've
made in the last month...)
| author | Michael W. Hudson <mwh@python.net> |
|---|---|
| date | Sat, 07 Aug 2004 17:57:16 +0000 |
| parents | cc1f74d19fcb |
| children | d9927a65f5f9 |
line wrap: on
line diff
--- a/Python/getargs.c Sat Aug 07 17:53:05 2004 +0000 +++ b/Python/getargs.c Sat Aug 07 17:57:16 2004 +0000 @@ -472,7 +472,7 @@ char *p = va_arg(*p_va, char *); long ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<b>", arg, msgbuf, bufsize); ival = PyInt_AsLong(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<b>", arg, msgbuf, bufsize); @@ -496,7 +496,7 @@ char *p = va_arg(*p_va, char *); long ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<B>", arg, msgbuf, bufsize); ival = PyInt_AsUnsignedLongMask(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<B>", arg, msgbuf, bufsize); @@ -509,7 +509,7 @@ short *p = va_arg(*p_va, short *); long ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<h>", arg, msgbuf, bufsize); ival = PyInt_AsLong(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<h>", arg, msgbuf, bufsize); @@ -533,7 +533,7 @@ unsigned short *p = va_arg(*p_va, unsigned short *); long ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<H>", arg, msgbuf, bufsize); ival = PyInt_AsUnsignedLongMask(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<H>", arg, msgbuf, bufsize); @@ -546,7 +546,7 @@ int *p = va_arg(*p_va, int *); long ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<i>", arg, msgbuf, bufsize); ival = PyInt_AsLong(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<i>", arg, msgbuf, bufsize); @@ -570,7 +570,7 @@ unsigned int *p = va_arg(*p_va, unsigned int *); unsigned int ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<I>", arg, msgbuf, bufsize); ival = PyInt_AsUnsignedLongMask(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<I>", arg, msgbuf, bufsize); @@ -583,7 +583,7 @@ long *p = va_arg(*p_va, long *); long ival; if (float_argument_error(arg)) - return NULL; + return converterr("integer<l>", arg, msgbuf, bufsize); ival = PyInt_AsLong(arg); if (ival == -1 && PyErr_Occurred()) return converterr("integer<l>", arg, msgbuf, bufsize); @@ -620,8 +620,6 @@ case 'K': { /* long long sized bitfield */ unsigned PY_LONG_LONG *p = va_arg(*p_va, unsigned PY_LONG_LONG *); unsigned PY_LONG_LONG ival; - if (float_argument_error(arg)) - return NULL; if (PyInt_Check(arg)) ival = PyInt_AsUnsignedLongMask(arg); else if (PyLong_Check(arg))
