Class: PEdump::StringTable

Inherits:
Object show all
Defined in:
lib/pedump/version_info.rb

Class Method Summary collapse

Class Method Details

.read(f, size = SIZE) ⇒ Object

An array of one or more String structures.



97
98
99
100
101
102
103
104
105
106
107
# File 'lib/pedump/version_info.rb', line 97

def self.read f, size = SIZE
  pos0 = f.tell
  super.tap do |x|
    x.szKey.force_encoding('UTF-16LE').encode!('UTF-8').sub!(/\u0000$/,'') rescue nil
    x.Padding = f.tell%4 > 0 ? f.read(4 - f.tell%4) : nil
    x.Children = []
    while !f.eof? && f.tell < pos0+x.wLength
      x.Children << VersionString.read(f)
    end
  end
end