104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/utils/erlang_parser.rb', line 104
def add(i)
if i[:integer].nil? && i[:string].nil?
raise 'No data provided, internal error for binary-stream processing!'
end
s = bit_size(i[:size], i[:type])
unless i[:string].nil?
str2int(i[:string].to_s, i[:type]).map { |e| add_bits(int2bits(e, 8)) }
else
add_int(i[:integer], s)
end
rescue RuntimeError => e
raise 'Error processing Erlang bit string '\
"'#{i[:string] || i[:integer]}:#{i[:size]}/#{i[:type]}'. #{e.message}"
end
|