diff --git a/lib/grit/git-ruby/internal/pack.rb b/lib/grit/git-ruby/internal/pack.rb index d46ddcf4..f03a3030 100644 --- a/lib/grit/git-ruby/internal/pack.rb +++ b/lib/grit/git-ruby/internal/pack.rb @@ -13,8 +13,7 @@ require 'grit/git-ruby/internal/raw_object' require 'grit/git-ruby/internal/file_window' -PACK_SIGNATURE = "PACK" -PACK_IDX_SIGNATURE = "\377tOc" +PACK_IDX_SIGNATURE = [0xFF, 0x74, 0x4F, 0x63] module Grit module GitRuby @@ -57,7 +56,7 @@ def with_idx(index_file = nil) end # read header - sig = idxfile.read(4) + sig = idxfile.read(4).unpack("C*") ver = idxfile.read(4).unpack("N")[0] if sig == PACK_IDX_SIGNATURE diff --git a/lib/grit/ruby1.9.rb b/lib/grit/ruby1.9.rb index 1ef4ade1..68c2e17e 100644 --- a/lib/grit/ruby1.9.rb +++ b/lib/grit/ruby1.9.rb @@ -1,4 +1,4 @@ -if ((defined? RUBY_VERSION) && (RUBY_VERSION[0..2] == "1.9")) +if ((defined? RUBY_VERSION) && (['1.9', '2.0'].include? RUBY_VERSION[0..2])) class String def getord(offset); self[offset].ord; end def default_encoding!; force_encoding(Encoding.default_internal || Encoding::UTF_8); end