[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