From e32907df6788237b6b0b4834f7d5e1b29cd0fb1e Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Tue, 28 Apr 1998 17:54:03 +0000
Subject: Get rid of the unused ifdefed-out old sort code.

---
 Objects/listobject.c | 76 ----------------------------------------------------
 1 file changed, 76 deletions(-)

diff --git a/Objects/listobject.c b/Objects/listobject.c
index 6619828..aa034bd 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -573,10 +573,6 @@ listappend(self, args)
 	return ins(self, (int) self->ob_size, v);
 }
 
-#define NEWSORT
-
-#ifdef NEWSORT
-
 /* New quicksort implementation for arrays of object pointers.
    Thanks to discussions with Tim Peters. */
 
@@ -828,78 +824,6 @@ listsort(self, compare)
 	return Py_None;
 }
 
-#else /* !NEWSORT */
-
-static PyObject *comparefunc;
-
-static int
-cmp(v, w)
-	const ANY *v, *w;
-{
-	PyObject *t, *res;
-	long i;
-
-	if (PyErr_Occurred())
-		return 0;
-
-	if (comparefunc == NULL)
-		return PyObject_Compare(* (PyObject **) v, * (PyObject **) w);
-
-	/* Call the user-supplied comparison function */
-	t = Py_BuildValue("(OO)", * (PyObject **) v, * (PyObject **) w);
-	if (t == NULL)
-		return 0;
-	res = PyEval_CallObject(comparefunc, t);
-	Py_DECREF(t);
-	if (res == NULL)
-		return 0;
-	if (!PyInt_Check(res)) {
-		PyErr_SetString(PyExc_TypeError,
-				"comparison function should return int");
-		i = 0;
-	}
-	else {
-		i = PyInt_AsLong(res);
-		if (i < 0)
-			i = -1;
-		else if (i > 0)
-			i = 1;
-	}
-	Py_DECREF(res);
-	return (int) i;
-}
-
-static PyObject *
-listsort(self, args)
-	PyListObject *self;
-	PyObject *args;
-{
-	PyObject *save_comparefunc;
-	if (self->ob_size <= 1) {
-		Py_INCREF(Py_None);
-		return Py_None;
-	}
-	save_comparefunc = comparefunc;
-	comparefunc = args;
-	if (comparefunc != NULL) {
-		/* Test the comparison function for obvious errors */
-		(void) cmp((ANY *)&self->ob_item[0], (ANY *)&self->ob_item[1]);
-		if (PyErr_Occurred()) {
-			comparefunc = save_comparefunc;
-			return NULL;
-		}
-	}
-	qsort((char *)self->ob_item,
-				(int) self->ob_size, sizeof(PyObject *), cmp);
-	comparefunc = save_comparefunc;
-	if (PyErr_Occurred())
-		return NULL;
-	Py_INCREF(Py_None);
-	return Py_None;
-}
-
-#endif
-
 static PyObject *
 listreverse(self, args)
 	PyListObject *self;
-- 
cgit v0.12

