summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-07-17 11:37:30 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-07-17 11:37:30 +0900
commit34fc856a45e0ae877662d20ef8b66a40513ab355 (patch)
treecc9ffb389cc325ed22ea0c5738f012baaaaba4c7
parent6c94b2d9631de69cece082274644381ae0864faa (diff)
parent08c12ab7bffaa1b96a3e4f9eee34e155eeec9310 (diff)
downloadmruby-34fc856a45e0ae877662d20ef8b66a40513ab355.tar.gz
mruby-34fc856a45e0ae877662d20ef8b66a40513ab355.zip
Merge pull request #2890 from jbreeden/sub_pattern_not_found
Don't crash if pattern not found for sub
-rw-r--r--mrblib/string.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/mrblib/string.rb b/mrblib/string.rb
index ee097ad6d..23cf02e97 100644
--- a/mrblib/string.rb
+++ b/mrblib/string.rb
@@ -111,6 +111,7 @@ class String
def sub(*args, &block)
if args.size == 2
pre, post = split(args[0], 2)
+ return self unless post # The sub target wasn't found in the string
pre + args[1].__sub_replace(pre, args[0], post) + post
elsif args.size == 1 && block
split(args[0], 2).join(block.call(args[0]))