From 66aeb2f7080dea92703f10546fb3cbcc946f6fa3 Mon Sep 17 00:00:00 2001 From: ser Date: Sun, 20 Jan 2008 04:31:57 +0000 Subject: r1479@bean: ser | 2008-01-19 14:26:31 -0500 r1483@bean: ser | 2008-01-19 14:47:23 -0500 Sam's fixes: * Don't blow up on empty documents * Add a test case for sorted attributes * Making the output predictable simplifies unit tests, and doesn't cost much given that most xml element have few attributes * Ruby 1.9 revision 14922 is more strict * Complete Ticket #134 * Fix for ticket #121 * Fix for ticket #124 * Fix for ticket #128 * Fix ticket #133 * Ticket #131 (Support Ruby 1.9) * Fix for ticket #127 * Fix for ticket #123 * Add missing data needed by test case r1481@bean (orig r1303): ser | 2008-01-19 17:22:32 -0500 Tagged for release r1482@bean (orig r1304): ser | 2008-01-19 17:27:10 -0500 Version bump git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rexml/source.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/rexml/source.rb') diff --git a/lib/rexml/source.rb b/lib/rexml/source.rb index 3f14239a35..d4335138a1 100644 --- a/lib/rexml/source.rb +++ b/lib/rexml/source.rb @@ -147,7 +147,7 @@ module REXML # the XML spec. If there is one, we can determine the encoding from # it. @buffer = "" - str = @source.read( 2 ) + str = @source.read( 2 ) || '' if encoding self.encoding = encoding elsif str[0,2] == "\xfe\xff" @@ -161,7 +161,7 @@ module REXML else @line_break = ">" end - super str+@source.readline( @line_break ) + super( @source.eof? ? str : str+@source.readline( @line_break ) ) end def scan(pattern, cons=false) @@ -231,7 +231,7 @@ module REXML end def position - @er_source.stat.pipe? ? 0 : @er_source.pos + @er_source.pos rescue 0 end # @return the current line in the source -- cgit v1.2.3