summaryrefslogtreecommitdiff
path: root/lib/cgi/core.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cgi/core.rb')
-rw-r--r--lib/cgi/core.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/cgi/core.rb b/lib/cgi/core.rb
index 02daf14e50..240d3bb714 100644
--- a/lib/cgi/core.rb
+++ b/lib/cgi/core.rb
@@ -555,12 +555,21 @@ class CGI
%|(offline mode: enter name=value pairs on standard input)\n|
)
end
- readlines.join(' ').gsub(/\n/, '')
- end.gsub(/\\=/, '%3D').gsub(/\\&/, '%26')
+ array = nil
+ begin
+ readlines
+ rescue
+ end
+ if not array.nil?
+ array.join(' ').gsub(/\n/n, '')
+ else
+ ""
+ end
+ end.gsub(/\\=/n, '%3D').gsub(/\\&/n, '%26')
words = Shellwords.shellwords(string)
- if words.find{|x| /=/.match(x) }
+ if words.find{|x| /=/n.match(x) }
words.join('&')
else
words.join('+')