From b766bf96cdd1d3b5065308755c675ad2d5016f56 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 26 Oct 2016 20:31:12 -0700 Subject: Fix regression: broken tok_where. * lib.c (tok_where): Check that the regex match succeeded before destructuring the result with range_bind. --- lib.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'lib.c') diff --git a/lib.c b/lib.c index f77ba01a..fb50af57 100644 --- a/lib.c +++ b/lib.c @@ -4052,17 +4052,20 @@ val tok_where(val str, val tok_regex) for (;;) { val range = range_regex(str, tok_regex, pos, nil); - range_bind (match_start, match_end, range); - if (!match_start) - break; + if (range) { + range_bind (match_start, match_end, range); - iter = list_collect(iter, range); + iter = list_collect(iter, range); - pos = match_end; + pos = match_end; - if (numeq(match_end, match_start)) - pos = plus(pos, one); + if (numeq(match_end, match_start)) + pos = plus(pos, one); + continue; + } + + break; } return out; -- cgit v1.2.3