]> granicus.if.org Git - php/commitdiff
optimize offset computation
authorAnatol Belski <ab@php.net>
Thu, 15 Jan 2015 10:14:09 +0000 (11:14 +0100)
committerAnatol Belski <ab@php.net>
Thu, 15 Jan 2015 10:18:40 +0000 (11:18 +0100)
Zend/zend_sort.c

index 5184b8bf0f01026265ea7c6d0825c0d887525cad..0432596ee39c2f7c3fdc46ee09cd7cd13762ccbd 100644 (file)
@@ -163,10 +163,16 @@ ZEND_API void zend_insert_sort(void *base, size_t nmemb, size_t siz, compare_fun
                        zend_sort_3(base, (char *)base + siz, (char *)base + siz + siz, cmp, swp);
                        break;
                case 4:
-                       zend_sort_4(base, (char *)base + siz, (char *)base + siz + siz, (char *)base + siz + siz + siz, cmp, swp);
+                       {
+                               size_t siz2 = siz + siz;
+                               zend_sort_4(base, (char *)base + siz, (char *)base + siz2, (char *)base + siz + siz2, cmp, swp);
+                       }
                        break;
                case 5:
-                       zend_sort_5(base, (char *)base + siz, (char *)base + siz + siz, (char *)base + siz + siz + siz, (char *)base + (siz * 4), cmp, swp);
+                       {
+                               size_t siz2 = siz + siz;
+                               zend_sort_5(base, (char *)base + siz, (char *)base + siz2, (char *)base + siz + siz2, (char *)base + siz2 + siz2, cmp, swp);
+                       }
                        break;
                default:
                        {