Method: Origami::XRef#to_xrefstm_data

Defined in:
lib/origami/xreftable.rb

#to_xrefstm_data(type_w, field1_w, field2_w) ⇒ Object



106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/origami/xreftable.rb', line 106

def to_xrefstm_data(type_w, field1_w, field2_w)
    type_w <<= 3
    field1_w <<= 3
    field2_w <<= 3

    type = ((@state == FREE) ? "\000" : "\001").unpack("B#{type_w}")[0]

    offset = @offset.to_s(2).rjust(field1_w, '0')
    generation = @generation.to_s(2).rjust(field2_w, '0')

    [ type , offset, generation ].pack("B#{type_w}B#{field1_w}B#{field2_w}")
end