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,
break;
}
case 'h': {/* unsigned short int */
case 'h': {/* signed short int */
short *p = va_arg(*p_va, short *);
long ival;
if (float_argument_error(arg))
......@@ -464,14 +464,14 @@ convertsimple(PyObject *arg, char **p_format, va_list *p_va, char *msgbuf,
ival = PyInt_AsLong(arg);
if (ival == -1 && PyErr_Occurred())
return converterr("integer<h>", arg, msgbuf, bufsize);
else if (ival < 0) {
else if (ival < SHRT_MIN) {
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);
}
else if (ival > USHRT_MAX) {
else if (ival > SHRT_MAX) {
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);
}
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