diff options
author | Anatol Belski <ab@php.net> | 2015-01-15 11:14:09 +0100 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-01-15 11:18:40 +0100 |
commit | 1af91d944aabad42014c0e34cbf54e89a87590b1 (patch) | |
tree | b11ebf5ea1929683c58ed36d48a9caaad74d1ba7 | |
parent | 706b7c6e070eb9135ecc55d7c457986569037a30 (diff) | |
download | php-git-1af91d944aabad42014c0e34cbf54e89a87590b1.tar.gz |
optimize offset computation
-rw-r--r-- | Zend/zend_sort.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Zend/zend_sort.c b/Zend/zend_sort.c index 5184b8bf0f..0432596ee3 100644 --- a/Zend/zend_sort.c +++ b/Zend/zend_sort.c @@ -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: { |