Roll back changes to 'h' format code -- too much breaks.  Other
changes stay.
diff --git a/Python/getargs.c b/Python/getargs.c
index e9808d5..237a29d 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -456,7 +456,7 @@
 		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 @@
 		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