From e409aa308461598815af44aec5f4f2e6ce39ba28 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 26 Sep 2014 22:18:08 -0500 Subject: Clean up inreplace regexps - use literal syntax - escape interpolated variables - remove intermediate variables - remove unnecessary capture --- Library/Homebrew/extend/string.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index c0f5ae1db..d18539b5c 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -69,22 +69,23 @@ module StringInreplaceExtension # value with "new_value", or removes the definition entirely. def change_make_var! flag, new_value new_value = "#{flag}=#{new_value}" - sub = gsub! Regexp.new("^#{flag}[ \\t]*=[ \\t]*(.*)$"), new_value, false - opoo "inreplace: changing '#{flag}' to '#{new_value}' failed" if sub.nil? + unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, new_value, false) + opoo "inreplace: changing '#{flag}' to '#{new_value}' failed" + end end # Removes variable assignments completely. def remove_make_var! flags Array(flags).each do |flag| # Also remove trailing \n, if present. - sub = gsub! Regexp.new("^#{flag}[ \\t]*=(.*)$\n?"), "", false - opoo "inreplace: removing '#{flag}' failed" if sub.nil? + unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=.*$\n?/, "", false) + opoo "inreplace: removing '#{flag}' failed" + end end end # Finds the specified variable def get_make_var flag - m = match Regexp.new("^#{flag}[ \\t]*=[ \\t]*(.*)$") - return m[1] if m + self[/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, 1] end end -- cgit v1.2.3