# File metasm/exe_format/macho.rb, line 200 def decode(m) super(m) ptr = m.encoded.ptr if @cmd.kind_of?(String) and self.class.constants.map { |c| c.to_s }.include?(@cmd) @data = self.class.const_get(@cmd).decode(m) end m.encoded.ptr = ptr + @cmdsize - 8 end
# File metasm/exe_format/macho.rb, line 215 def encode(m) ed = super(m) ed << @data.encode(m) if @data ed.align(m.size >> 3) ed.fixup! @cmdsize => ed.length if @cmdsize.kind_of? String ed end
# File metasm/exe_format/macho.rb, line 209 def set_default_values(m) @cmd ||= data.class.name.sub(/.*::/, '') @cmdsize ||= 'cmdsize' super(m) end