hope to fix DEC Alpha gcc problems by declaring ints instead of longs
diff --git a/Python/marshal.c b/Python/marshal.c
index 54cabf6..2176d3c 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -121,7 +121,7 @@
 	object *v;
 	WFILE *p;
 {
-	long i, n;
+	int i, n;
 	
 	if (v == NULL)
 		w_byte(TYPE_NULL, p);
@@ -147,29 +147,29 @@
 		float_buf_repr(buf, (floatobject *)v);
 		n = strlen(buf);
 		w_byte(TYPE_FLOAT, p);
-		w_byte((int)n, p);
-		w_string(buf, (int)n, p);
+		w_byte(n, p);
+		w_string(buf, n, p);
 	}
 	else if (is_stringobject(v)) {
 		w_byte(TYPE_STRING, p);
 		n = getstringsize(v);
-		w_long(n, p);
-		w_string(getstringvalue(v), (int)n, p);
+		w_long((long)n, p);
+		w_string(getstringvalue(v), n, p);
 	}
 	else if (is_tupleobject(v)) {
 		w_byte(TYPE_TUPLE, p);
 		n = gettuplesize(v);
-		w_long(n, p);
+		w_long((long)n, p);
 		for (i = 0; i < n; i++) {
-			w_object(gettupleitem(v, (int)i), p);
+			w_object(gettupleitem(v, i), p);
 		}
 	}
 	else if (is_listobject(v)) {
 		w_byte(TYPE_LIST, p);
 		n = getlistsize(v);
-		w_long(n, p);
+		w_long((long)n, p);
 		for (i = 0; i < n; i++) {
-			w_object(getlistitem(v, (int)i), p);
+			w_object(getlistitem(v, i), p);
 		}
 	}
 	else if (is_dictobject(v)) {