Server : LiteSpeed System : Linux webbox1.ncrdns.net 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64 User : rahcos ( 1533) PHP Version : 8.4.23 Disable Function : NONE Directory : /usr/share/passenger/phusion_passenger/utils/ |
# Polyfill for the shellwords library on Ruby 1.8.5.
require 'shellwords'
if !Shellwords.respond_to?(:escape)
Shellwords.class_eval do
def self.escape(str)
# An empty argument will be skipped, so return empty quotes.
return "''" if str.empty?
str = str.dup
# Treat multibyte characters as is. It is caller's responsibility
# to encode the string in the right encoding for the shell
# environment.
str.gsub!(/([^A-Za-z0-9_\-.,:\/@\n])/, "\\\\\\1")
# A LF cannot be escaped with a backslash because a backslash + LF
# combo is regarded as line continuation and simply ignored.
str.gsub!(/\n/, "'\n'")
str
end
end
end
if !Shellwords.respond_to?(:join)
Shellwords.class_eval do
def self.join(array)
array.map { |arg| escape(arg) }.join(' ')
end
end
end