com php-src: Only use explicit ">" in sorting algo: Zend/zend_sort.c
| From: | Xinchen Hui | Date: | Mon, 19 Jan 2015 08:32:28 +0000 |
| Subject: | com php-src: Only use explicit ">" in sorting algo: Zend/zend_sort.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-84166@lists.php.net to get a copy of this message | ||
Commit: b33629f21253b106157e8a3f24b376a4aadd92f0
Author: Xinchen Hui <laruence@php.net> Mon, 19 Jan 2015 03:32:28 -0500
Parents: 0bf9326512948f3c44dc33ff1b6b5613649d5761
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=b33629f21253b106157e8a3f24b376a4aadd92f0
Log:
Only use explicit ">" in sorting algo
Changed paths:
M Zend/zend_sort.c
Diff:
diff --git a/Zend/zend_sort.c b/Zend/zend_sort.c
index 78ed0eb..cdf19f9 100644
--- a/Zend/zend_sort.c
+++ b/Zend/zend_sort.c
@@ -98,8 +98,8 @@ static inline void zend_sort_2(void *a, void *b, compare_func_t cmp, swap_func_t
/* }}} */
static inline void zend_sort_3(void *a, void *b, void *c, compare_func_t cmp, swap_func_t swp) /*
{{{ */ {
- if (cmp(a, b) <= 0) {
- if (cmp(b, c) <= 0) {
+ if (!(cmp(a, b) > 0)) {
+ if (!(cmp(b, c) > 0)) {
return;
}
swp(b, c);
@@ -108,7 +108,7 @@ static inline void zend_sort_3(void *a, void *b, void *c, compare_func_t cmp, sw
}
return;
}
- if (cmp(c, b) <= 0) {
+ if (!(cmp(c, b) > 0)) {
swp(a, c);
return;
}
@@ -178,15 +178,16 @@ ZEND_API void zend_insert_sort(void *base, size_t nmemb, size_t siz,
compare_fun
char *i, *j, *k;
char *start = (char *)base;
char *end = start + (nmemb * siz);
+ size_t siz2= siz + siz;
char *sentry = start + (6 * siz);
for (i = start + siz; i < sentry; i += siz) {
j = i - siz;
- if (cmp(j, i) <= 0) {
+ if (!(cmp(j, i) > 0)) {
continue;
}
while (j != start) {
j -= siz;
- if (cmp(j, i) <= 0) {
+ if (!(cmp(j, i) > 0)) {
j += siz;
break;
}
@@ -197,14 +198,14 @@ ZEND_API void zend_insert_sort(void *base, size_t nmemb, size_t siz,
compare_fun
}
for (i = sentry; i < end; i += siz) {
j = i - siz;
- if (cmp(j, i) <= 0) {
+ if (!(cmp(j, i) > 0)) {
continue;
}
do {
- j -= siz * 2;
- if (cmp(j, i) <= 0) {
+ j -= siz2;
+ if (!(cmp(j, i) > 0)) {
j += siz;
- if (cmp(j, i) <= 0) {
+ if (!(cmp(j, i) > 0)) {
j += siz;
}
break;