Fix error introduced by r58288; if a tuple is length 0 return its repr and
don't worry about any self-referring tuples.
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 38304dd..b1704f7 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -216,6 +216,10 @@
 	PyObject *s, *temp;
 	PyObject *pieces, *result = NULL;
 
+	n = Py_Size(v);
+	if (n == 0)
+		return PyString_FromString("()");
+
 	/* While not mutable, it is still possible to end up with a cycle in a
 	   tuple through an object that stores itself within a tuple (and thus
 	   infinitely asks for the repr of itself). This should only be
@@ -225,10 +229,6 @@
 		return i > 0 ? PyString_FromString("(...)") : NULL;
 	}
 
-	n = Py_Size(v);
-	if (n == 0)
-		return PyString_FromString("()");
-
 	pieces = PyTuple_New(n);
 	if (pieces == NULL)
 		return NULL;