зеркало из https://github.com/github/ruby.git
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:
Родитель
e7e0eeb084
Коммит
22f1db4b8e
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче