]> granicus.if.org Git - python/commitdiff
reorder and save a comparison
authorBenjamin Peterson <benjamin@python.org>
Mon, 23 Aug 2010 19:35:39 +0000 (19:35 +0000)
committerBenjamin Peterson <benjamin@python.org>
Mon, 23 Aug 2010 19:35:39 +0000 (19:35 +0000)
Objects/listobject.c

index 0dab7843afdac775b3d897142eb3a87aa3ad8062..88478f3db01cd0cae95dec3ae7d81f84604a15f5 100644 (file)
@@ -1934,17 +1934,17 @@ listsort(PyListObject *self, PyObject *args, PyObject *kwds)
         }
     }
 
-    /* Reverse sort stability achieved by initially reversing the list,
-    applying a stable forward sort, then reversing the final result. */
-    if (reverse && saved_ob_size > 1)
-        reverse_slice(saved_ob_item, saved_ob_item + saved_ob_size);
-
     merge_init(&ms);
 
     nremaining = saved_ob_size;
     if (nremaining < 2)
         goto succeed;
 
+    /* Reverse sort stability achieved by initially reversing the list,
+    applying a stable forward sort, then reversing the final result. */
+    if (reverse)
+        reverse_slice(saved_ob_item, saved_ob_item + saved_ob_size);
+
     /* March over the array once, left to right, finding natural runs,
      * and extending short natural runs to minrun elements.
      */