Make multiplying a sequence by a long integer (5L * 'b') legal
diff --git a/Objects/abstract.c b/Objects/abstract.c
index c120769..3fc312a 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -384,10 +384,21 @@
 	}
 	m = tp->tp_as_sequence;
 	if (m && m->sq_repeat) {
-		if (!PyInt_Check(w))
+		long mul_value;
+
+		if (PyInt_Check(w)) {
+			mul_value = PyInt_AsLong(w);
+		}
+		else if (PyLong_Check(w)) {
+			mul_value = PyLong_AsLong(w);
+			if (PyErr_Occurred())
+                                return NULL; 
+		}
+		else {
 			return type_error(
 				"can't multiply sequence with non-int");
-		return (*m->sq_repeat)(v, (int)PyInt_AsLong(w));
+		}
+		return (*m->sq_repeat)(v, (int)mul_value);
 	}
 	return type_error("bad operand type(s) for *");
 }