Skip to content

Commit f07fbfb

Browse files
committed
Remove zend_qsort
This has been superseded by zend_sort and is no longer used.
1 parent 125682f commit f07fbfb

File tree

2 files changed

+0
-68
lines changed

2 files changed

+0
-68
lines changed

Zend/zend_sort.c

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -21,73 +21,6 @@
2121
#include "zend_sort.h"
2222
#include <limits.h>
2323

24-
#define QSORT_STACK_SIZE (sizeof(size_t) * CHAR_BIT)
25-
26-
ZEND_API void zend_qsort(void *base, size_t nmemb, size_t siz, compare_func_t compare, swap_func_t swp) /* {{{ */
27-
{
28-
void *begin_stack[QSORT_STACK_SIZE];
29-
void *end_stack[QSORT_STACK_SIZE];
30-
register char *begin;
31-
register char *end;
32-
register char *seg1;
33-
register char *seg2;
34-
register char *seg2p;
35-
register int loop;
36-
size_t offset;
37-
38-
begin_stack[0] = (char *) base;
39-
end_stack[0] = (char *) base + ((nmemb - 1) * siz);
40-
41-
for (loop = 0; loop >= 0; --loop) {
42-
begin = begin_stack[loop];
43-
end = end_stack[loop];
44-
45-
while (begin < end) {
46-
offset = (end - begin) >> Z_L(1);
47-
swp(begin, begin + (offset - (offset % siz)));
48-
49-
seg1 = begin + siz;
50-
seg2 = end;
51-
52-
while (1) {
53-
for (; seg1 < seg2 && compare(begin, seg1) > 0;
54-
seg1 += siz);
55-
56-
for (; seg2 >= seg1 && compare(seg2, begin) > 0;
57-
seg2 -= siz);
58-
59-
if (seg1 >= seg2)
60-
break;
61-
62-
swp(seg1, seg2);
63-
64-
seg1 += siz;
65-
seg2 -= siz;
66-
}
67-
68-
swp(begin, seg2);
69-
70-
seg2p = seg2;
71-
72-
if ((seg2p - begin) <= (end - seg2p)) {
73-
if ((seg2p + siz) < end) {
74-
begin_stack[loop] = seg2p + siz;
75-
end_stack[loop++] = end;
76-
}
77-
end = seg2p - siz;
78-
}
79-
else {
80-
if ((seg2p - siz) > begin) {
81-
begin_stack[loop] = begin;
82-
end_stack[loop++] = seg2p - siz;
83-
}
84-
begin = seg2p + siz;
85-
}
86-
}
87-
}
88-
}
89-
/* }}} */
90-
9124
static inline void zend_sort_2(void *a, void *b, compare_func_t cmp, swap_func_t swp) /* {{{ */ {
9225
if (cmp(a, b) > 0) {
9326
swp(a, b);

Zend/zend_sort.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#define ZEND_SORT_H
2222

2323
BEGIN_EXTERN_C()
24-
ZEND_API void zend_qsort(void *base, size_t nmemb, size_t siz, compare_func_t cmp, swap_func_t swp);
2524
ZEND_API void zend_sort(void *base, size_t nmemb, size_t siz, compare_func_t cmp, swap_func_t swp);
2625
ZEND_API void zend_insert_sort(void *base, size_t nmemb, size_t siz, compare_func_t cmp, swap_func_t swp);
2726
END_EXTERN_C()

0 commit comments

Comments
 (0)