From 541bbb6f862b4190a9d0bc8390deb20f9bced3c3 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 8 Aug 2006 10:29:02 +0000 Subject: * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_string): affected by str[0] returns 1 char string. [ruby-dev:29223] * lib/resolv.rb (Resolv::DNS::Message::MessageDecoder::get_labels): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/resolv.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/resolv.rb b/lib/resolv.rb index 300901fdf..deceeaba3 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -1330,6 +1330,7 @@ class Resolv def get_unpack(template) len = 0 template.each_byte {|byte| + byte = "%c" % byte case byte when ?c, ?C len += 1 @@ -1348,7 +1349,7 @@ class Resolv end def get_string - len = @data[@index] + len = @data[@index].ord raise DecodeError.new("limit exceeded") if @limit < @index + 1 + len d = @data[@index + 1, len] @index += 1 + len @@ -1371,7 +1372,7 @@ class Resolv limit = @index if !limit || @index < limit d = [] while true - case @data[@index] + case @data[@index].ord when 0 @index += 1 return d -- cgit