mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
mkmf: Unquote directory strings
* lib/mkmf.rb (find_executable0): On Windows, it is actually valid to surround individual PATH directory entries with double quotes. Remove these before joining the path as otherwise the literal quotes would become part of the path, resulting in the executable not to be found. [Fix GH-1305] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e7e0eeb084
commit
22f1db4b8e
3 changed files with 16 additions and 0 deletions
|
@ -1,3 +1,11 @@
|
|||
Fri Mar 25 01:10:42 2016 Sebastian Schuberth <sschuberth@gmail.com>
|
||||
|
||||
* lib/mkmf.rb (find_executable0): On Windows, it is actually valid
|
||||
to surround individual PATH directory entries with double
|
||||
quotes. Remove these before joining the path as otherwise the
|
||||
literal quotes would become part of the path, resulting in the
|
||||
executable not to be found. [Fix GH-1305]
|
||||
|
||||
Thu Mar 24 22:38:18 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* strftime.c (FMT, FMTV): remove recursive-assignments to get rid
|
||||
|
|
|
@ -1551,6 +1551,7 @@ SRC
|
|||
end
|
||||
file = nil
|
||||
path.each do |dir|
|
||||
dir.sub!(/\A"(.*)"\z/m, '\1') if $mswin or $mingw
|
||||
return file if executable_file.call(file = File.join(dir, bin))
|
||||
if exts
|
||||
exts.each {|ext| executable_file.call(ext = file + ext) and return ext}
|
||||
|
|
|
@ -47,5 +47,12 @@ class TestMkmf
|
|||
assert_nil(result)
|
||||
end
|
||||
end
|
||||
|
||||
if /mingw|mswin/ =~ RUBY_PLATFORM
|
||||
def test_quoted_path_on_windows
|
||||
ENV["PATH"] = %["#{@tmpdir}"]
|
||||
test_find_executable
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue