# File lib/satyr.rb, line 84 def initialize(json) error_msg = ::FFI::MemoryPointer.new(:pointer, 1) pointer = Satyr::FFI.sr_report_from_json_text json.to_s, error_msg error_msg = error_msg.read_pointer unless error_msg.null? message = error_msg.read_string.force_encoding('UTF-8') Satyr::FFI.free error_msg raise SatyrError, "Failed to parse JSON: #{message}" end # from_json_text should never return NULL without setting error_msg, # better err on the safe side though raise SatyrError, "Failed to create stacktrace" if pointer.null? @struct = Satyr::FFI::ReportStruct.new pointer end