projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
82a85e1
)
Minor fixes to qsort_with_data()
author
Jeffrey Stedfast
<fejj@gnome.org>
Fri, 1 Apr 2011 20:39:05 +0000
(16:39 -0400)
committer
Jeffrey Stedfast
<fejj@gnome.org>
Fri, 1 Apr 2011 20:39:05 +0000
(16:39 -0400)
eglib/src/gqsort.c
patch
|
blob
|
history
diff --git
a/eglib/src/gqsort.c
b/eglib/src/gqsort.c
index 5a9060ea9146667143bf3fc16256c37c8fee1e6d..8550b18845b1da27762cad010a3961af93254d8f 100644
(file)
--- a/
eglib/src/gqsort.c
+++ b/
eglib/src/gqsort.c
@@
-92,6
+92,9
@@
g_qsort_with_data (gpointer base, size_t nmemb, size_t size, GCompareDataFunc co
char *mid, *lo, *hi;
size_t n, n1, n2;
+ if (nmemb <= 1)
+ return;
+
/* initialize our stack */
sp = stack;
QSORT_PUSH (sp, base, nmemb);
@@
-149,7
+152,7
@@
g_qsort_with_data (gpointer base, size_t nmemb, size_t size, GCompareDataFunc co
n2 = (hi - k) / size;
n1 = (k - lo) / size;
- if (n1
== 1 || n2 =
= 1) {
+ if (n1
<= 1 || n2 <
= 1) {
/* pathological case detected, switch to insertion sort */
for (i = lo + size; i <= hi; i += size)
for (k = i; k > lo && compare (k - size, k, user_data) > 0; k -= size)