diff Python/bltinmodule.c @ 39686:aca709f33a6a

SF patch 1546297 (with some tweaks): Create a real zip iterator object; not using itertools.izip (Brian Holmes).
author Guido van Rossum <guido@python.org>
date Fri, 25 Aug 2006 23:26:40 +0000
parents 08005ba6ceb9
children c94f37054f19
line wrap: on
line diff
--- a/Python/bltinmodule.c	Fri Aug 25 05:05:30 2006 +0000
+++ b/Python/bltinmodule.c	Fri Aug 25 23:26:40 2006 +0000
@@ -1855,22 +1855,10 @@
 static PyObject*
 builtin_zip(PyObject *self, PyObject *args)
 {
-	PyObject *itertools = NULL, *izip = NULL, *result = NULL;
+	/* args must be a tuple */
+	assert(PyTuple_Check(args));
 
-	itertools = PyImport_ImportModule("itertools");
-	if (itertools == NULL)
-		return NULL;
-	
-	izip = PyObject_GetAttrString(itertools, "izip");
-	if (izip == NULL)
-		goto done;
-
-	result = PyObject_Call(izip, args, NULL);
-
-  done:
-	Py_XDECREF(itertools);
-	Py_XDECREF(izip);
-	return result;
+	return _PyZip_CreateIter(args);
 }