1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
|
# File 'lib/rbthemis.rb', line 1004
def proceed_compare(control_message)
message, message_length = string_to_pointer_size(control_message)
res_length = FFI::MemoryPointer.new(:uint)
res = secure_comparator_proceed_compare(
@comparator, message, message_length, nil, res_length)
return '' if res == SUCCESS
if res != BUFFER_TOO_SMALL
raise ThemisError, 'Secure Comparator failed proceeding message'
end
res_buffer = FFI::MemoryPointer.new(:char, res_length.read_uint)
res = secure_comparator_proceed_compare(
@comparator, message, message_length, res_buffer, res_length)
if res != SUCCESS && res != SEND_AS_IS
raise ThemisError, 'Secure Comparator failed proceeding message'
end
res_buffer.get_bytes(0, res_length.read_uint)
end
|