Commit 8ad61344 authored by Guido van Rossum's avatar Guido van Rossum

Roll back changes to 'h' format code -- too much breaks. Other

changes stay.
parent 7874c5d0
...@@ -456,7 +456,7 @@ convertsimple(PyObject *arg, char **p_format, va_list *p_va, char *msgbuf, ...@@ -456,7 +456,7 @@ convertsimple(PyObject *arg, char **p_format, va_list *p_va, char *msgbuf,
break; break;
} }
case 'h': {/* unsigned short int */ case 'h': {/* signed short int */
short *p = va_arg(*p_va, short *); short *p = va_arg(*p_va, short *);
long ival; long ival;
if (float_argument_error(arg)) if (float_argument_error(arg))
...@@ -464,14 +464,14 @@ convertsimple(PyObject *arg, char **p_format, va_list *p_va, char *msgbuf, ...@@ -464,14 +464,14 @@ convertsimple(PyObject *arg, char **p_format, va_list *p_va, char *msgbuf,
ival = PyInt_AsLong(arg); ival = PyInt_AsLong(arg);
if (ival == -1 && PyErr_Occurred()) if (ival == -1 && PyErr_Occurred())
return converterr("integer<h>", arg, msgbuf, bufsize); return converterr("integer<h>", arg, msgbuf, bufsize);
else if (ival < 0) { else if (ival < SHRT_MIN) {
PyErr_SetString(PyExc_OverflowError, PyErr_SetString(PyExc_OverflowError,
"unsigned short integer is less than minimum"); "signed short integer is less than minimum");
return converterr("integer<h>", arg, msgbuf, bufsize); return converterr("integer<h>", arg, msgbuf, bufsize);
} }
else if (ival > USHRT_MAX) { else if (ival > SHRT_MAX) {
PyErr_SetString(PyExc_OverflowError, PyErr_SetString(PyExc_OverflowError,
"unsigned short integer is greater than maximum"); "signed short integer is greater than maximum");
return converterr("integer<h>", arg, msgbuf, bufsize); return converterr("integer<h>", arg, msgbuf, bufsize);
} }
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment