summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authordearblue <[email protected]>2019-05-25 22:24:08 +0900
committerdearblue <[email protected]>2019-05-25 22:43:07 +0900
commitecfca8def78043f891bcbe6bc1eb036048996169 (patch)
tree830828e84305a9b672d7f2705edf7bc81c9b0324 /src/string.c
parentf455cb6c408525f0af7303d21ed5b81959e46876 (diff)
downloadmruby-ecfca8def78043f891bcbe6bc1eb036048996169.tar.gz
mruby-ecfca8def78043f891bcbe6bc1eb036048996169.zip
Fix double rounded by negative index
- Before patched: ``` $ mruby -e 'p (-12..-1).map { |i| "Hello"[i] }.join' "HelloHello" ``` - After patched: ``` $ mruby -e 'p (-12..-1).map { |i| "Hello"[i] }.join' "Hello" ```
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/string.c b/src/string.c
index db2d73e32..bfe73b359 100644
--- a/src/string.c
+++ b/src/string.c
@@ -449,9 +449,6 @@ str_substr(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len)
if (clen == 0) {
len = 0;
}
- else if (beg < 0) {
- beg = clen + beg;
- }
if (beg > clen) return mrb_nil_value();
if (beg < 0) {
beg += clen;