Keep gcc -Wall and Microsoft VC happy.
diff --git a/Modules/cgensupport.c b/Modules/cgensupport.c
index d8a6014..fd2bad6 100644
--- a/Modules/cgensupport.c
+++ b/Modules/cgensupport.c
@@ -93,7 +93,7 @@
 	long x;
 	if (!getilongarg(args, nargs, i, &x))
 		return 0;
-	*p_arg = x;
+	*p_arg = (short) x;
 	return 1;
 }
 
@@ -129,15 +129,15 @@
 		/* Fall through to error return at end of function */
 	}
 	else if (is_floatobject(v)) {
-		*p_arg = GETFLOATVALUE((floatobject *)v);
+		*p_arg = (float) GETFLOATVALUE((floatobject *)v);
 		return 1;
 	}
 	else if (is_intobject(v)) {
-		*p_arg = GETINTVALUE((intobject *)v);
+		*p_arg = (float) GETINTVALUE((intobject *)v);
 		return 1;
 	}
 	else if (is_longobject(v)) {
-		*p_arg = dgetlongvalue(v);
+		*p_arg = (float) dgetlongvalue(v);
 		return 1;
 	}
 	return err_badarg();
@@ -221,7 +221,7 @@
 	long x;
 	if (!getilongarraysize(args, nargs, i, &x))
 		return 0;
-	*p_arg = x;
+	*p_arg = (short) x;
 	return 1;
 }
 
@@ -287,7 +287,7 @@
 			if (!is_intobject(w)) {
 				return err_badarg();
 			}
-			p_arg[i] = getintvalue(w);
+			p_arg[i] = (short) getintvalue(w);
 		}
 		return 1;
 	}
@@ -300,7 +300,7 @@
 			if (!is_intobject(w)) {
 				return err_badarg();
 			}
-			p_arg[i] = getintvalue(w);
+			p_arg[i] = (short) getintvalue(w);
 		}
 		return 1;
 	}