From 84a328764a4f48a9b8686353c947e4e9edabc41c Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 21 Feb 2013 11:42:30 -0500 Subject: [PATCH] bugfix: mis-chaining caused by integer overflow I really need to rewrite kbtree some time. --- bwamem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bwamem.c b/bwamem.c index f0e1a29..2a9de82 100644 --- a/bwamem.c +++ b/bwamem.c @@ -159,7 +159,7 @@ const bwtintv_v *smem_next(smem_i *itr, int split_len, int split_width) #include "kbtree.h" -#define chain_cmp(a, b) ((a).pos - (b).pos) +#define chain_cmp(a, b) (((b).pos < (a).pos) - ((a).pos < (b).pos)) KBTREE_INIT(chn, mem_chain_t, chain_cmp) static int test_and_merge(const mem_opt_t *opt, mem_chain_t *c, const mem_seed_t *p)