# File metasm/exe_format/elf_decode.rb, line 37 def decode(elf, strtab=nil) super(elf) @name = elf.readstr(strtab, @name_p) if strtab end
sets the value of @name_p, appends @name to strtab if needed
# File metasm/exe_format/elf_encode.rb, line 91 def make_name_p(elf, strtab) s = strtab.kind_of?(EncodedData) ? strtab.data : strtab return if name_p and s[@name_p, @name.length+1] == @name+0.chr return if @name_p = s.index(@name+0.chr) @name_p = strtab.length @name.force_encoding('BINARY') if name.respond_to?(:force_encoding) strtab << @name << 0 end
# File metasm/exe_format/elf_encode.rb, line 85 def set_default_values(elf, strtab) make_name_p elf, strtab if strtab and name and @name != '' super(elf) end
# File metasm/exe_format/elf.rb, line 475 def struct_specialized(elf) return Symbol32 if not elf case elf.bitsize when 32; Symbol32 else Symbol64 end end