summaryrefslogtreecommitdiffstats
path: root/match.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-09-28 11:18:48 -0700
committerKaz Kylheku <kaz@kylheku.com>2011-09-28 11:18:48 -0700
commite24b844825e726b0f050faaf28d00798c29e342f (patch)
tree3901d6cfc5d3db59c6e653482dc0bc391deef079 /match.c
parent88a0ca81d753a6393b06fdabb984aeff48dcaa3b (diff)
downloadtxr-e24b844825e726b0f050faaf28d00798c29e342f.tar.gz
txr-e24b844825e726b0f050faaf28d00798c29e342f.tar.bz2
txr-e24b844825e726b0f050faaf28d00798c29e342f.zip
* match.c (match_line): Bugfix in double var. Do not
prepend the next_pat to the specline if it is nil.
Diffstat (limited to 'match.c')
-rw-r--r--match.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/match.c b/match.c
index 01d96bf5..81d7df95 100644
--- a/match.c
+++ b/match.c
@@ -433,8 +433,10 @@ static val match_line(val bindings, val specline, val dataline,
pos = fpos;
LOG_MATCH("double var regex (second var)", plus(fpos, flen));
pos = plus(fpos, flen);
- specline = cons(next_pat, rest(specline));
- continue;
+ if (next_pat) {
+ specline = cons(next_pat, rest(specline));
+ continue;
+ }
} else if (!pair) {
sem_error(spec_lineno, lit("consecutive unbound variables"), nao);
} else {