diff options
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -530,10 +530,11 @@ rb_reg_search(reg, str, pos, reverse) } regs = RMATCH(match)->regs; - range = RSTRING(str)->len - pos; if (reverse) { - range = -range; - pos = RSTRING(str)->len; + range = -pos; + } + else { + range = RSTRING(str)->len - pos; } result = re_search(RREGEXP(reg)->ptr,RSTRING(str)->ptr,RSTRING(str)->len, pos, range, regs); |