Merge pull request #2511 from reitermarkus/fix-plist-parser

Fix `plist` parser failing when encoded with ASCII.
This commit is contained in:
Markus Reiter 2017-04-20 11:57:15 +02:00 committed by GitHub
commit 67a0a89b10
2 changed files with 16 additions and 4 deletions

View File

@ -1,10 +1,17 @@
class IO
def readline_nonblock(sep = $INPUT_RECORD_SEPARATOR)
line = ""
buffer = ""
buffer.concat(read_nonblock(1)) while buffer[-1] != sep
buffer
loop do
break if buffer == sep
read_nonblock(1, buffer)
line.concat(buffer)
end
line
rescue IO::WaitReadable, EOFError => e
raise e if buffer.empty?
buffer
raise e if line.empty?
line
end
end

5
Library/Homebrew/vendor/plist/plist/parser.rb vendored Normal file → Executable file
View File

@ -69,6 +69,11 @@ module Plist
@xml = plist_data_or_file
end
# TODO: Update vendored `plist` parser when
# https://github.com/patsplat/plist/pull/38
# is merged.
@xml.force_encoding("UTF-8")
@listener = listener
end