r890: bns_intv2rid() may wrongly return -1
This commit is contained in:
parent
2485a3ca02
commit
df20911110
3
bntseq.c
3
bntseq.c
|
|
@ -358,8 +358,9 @@ int bns_intv2rid(const bntseq_t *bns, int64_t rb, int64_t re)
|
|||
{
|
||||
int is_rev, rid_b, rid_e;
|
||||
if (rb < bns->l_pac && re > bns->l_pac) return -2;
|
||||
assert(rb <= re);
|
||||
rid_b = bns_pos2rid(bns, bns_depos(bns, rb, &is_rev));
|
||||
rid_e = bns_pos2rid(bns, bns_depos(bns, re, &is_rev) - 1);
|
||||
rid_e = rb < re? bns_pos2rid(bns, bns_depos(bns, re - 1, &is_rev)) : rid_b;
|
||||
return rid_b == rid_e? rid_b : -1;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue