Merged revisions 79745 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79745 | mark.dickinson | 2010-04-04 09:43:04 +0100 (Sun, 04 Apr 2010) | 3 lines

  Issue #8300 (__index__ handling in struct.pack): Remove redundant check
  and improve test coverage.  Thanks Meador Inge for the patch.
........
diff --git a/Modules/_struct.c b/Modules/_struct.c
index d000df2..94bc397 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -102,12 +102,6 @@
 			v = PyNumber_Index(v);
 			if (v == NULL)
 				return NULL;
-			if (!PyLong_Check(v)) {
-				PyErr_SetString(PyExc_TypeError,
-						"__index__ method "
-						"returned non-integer");
-				return NULL;
-			}
 		}
 		else {
 			PyErr_SetString(StructError,
@@ -118,6 +112,7 @@
 	else
 		Py_INCREF(v);
 
+	assert(PyLong_Check(v));
 	return v;
 }