[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
Tomasz Kojm
tkojm at clamav.net
Sun Apr 4 01:09:25 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit 51e223fe17929ab29f9443cfd61d604a9d1fd6ab
Author: Tomasz Kojm <tkojm at clamav.net>
Date: Tue Nov 17 18:04:12 2009 +0100
libclamav/qsort.c: don't call med3 when using internal cmp
diff --git a/ChangeLog b/ChangeLog
index 7535051..c8f591c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Nov 17 18:02:45 CET 2009 (tk)
+---------------------------------
+ * libclamav/qsort.c: don't call med3 when using internal cmp
+
Mon Nov 16 23:15:37 CET 2009 (acab)
-----------------------------------
* libclamav: add qsort to the win32 build
diff --git a/libclamav/qsort.c b/libclamav/qsort.c
index 80de136..248995e 100644
--- a/libclamav/qsort.c
+++ b/libclamav/qsort.c
@@ -76,7 +76,9 @@ swapfunc(a, b, n, swaptype)
#define vecswap(a, b, n) if ((n) > 0) swapfunc(a, b, n, swaptype)
-#define CMP(a, b) (cmp ? (cmp(a, b)) : ((int)(*(const uint32_t *)a - *(const uint32_t *)b)))
+#define CMP1(a, b) ((int)(*(const uint32_t *)a - *(const uint32_t *)b))
+#define CMP(a, b) (cmp ? (cmp(a, b)) : CMP1(a, b))
+#define MED3(a, b, c, d) (d ? (med3(a, b, c, d)) : (CMP1(a, b) < 0 ? (CMP1(b, c) < 0 ? b : (CMP1(a, c) < 0 ? c : a )) : (CMP1(b, c) > 0 ? b : (CMP1(a, c) < 0 ? a : c ))))
static inline char *
med3(a, b, c, cmp)
@@ -108,11 +110,11 @@ loop: SWAPINIT(a, es);
pn = (char *) a + (n - 1) * es;
if (n > 40) {
d = (n / 8) * es;
- pl = med3(pl, pl + d, pl + 2 * d, cmp);
- pm = med3(pm - d, pm, pm + d, cmp);
- pn = med3(pn - 2 * d, pn - d, pn, cmp);
+ pl = MED3(pl, pl + d, pl + 2 * d, cmp);
+ pm = MED3(pm - d, pm, pm + d, cmp);
+ pn = MED3(pn - 2 * d, pn - d, pn, cmp);
}
- pm = med3(pl, pm, pn, cmp);
+ pm = MED3(pl, pm, pn, cmp);
}
swap(a, pm);
pa = pb = (char *) a + es;
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list