From bcc1770bf64c62dc5c6404596017cf73a6c9e25e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 27 Jan 2014 00:27:47 -0800 Subject: * regex.c (match_regex_right): Fix semantics of second argument to something more useful. * regex.h (match_regex_right): Change name of parameter. * txr.1: Documented match-regex-right. --- regex.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'regex.c') diff --git a/regex.c b/regex.c index 67f17f60..090846b1 100644 --- a/regex.c +++ b/regex.c @@ -1854,20 +1854,21 @@ val match_regex(val str, val reg, val pos) return nil; } -val match_regex_right(val str, val regex, val pos) +val match_regex_right(val str, val regex, val end) { + val pos = zero; val slen = length(str); - if (!pos) - pos = zero; + if (!end || gt(end, slen)) + end = slen; - for (;;) { + while (lt(pos, end)) { cons_bind (from, len, search_regex(str, regex, pos, nil)); if (!from) return nil; - if (eql(plus(from, len), slen)) + if (eql(plus(from, len), end)) return len; pos = plus(pos, one); -- cgit v1.2.3