Method: Proj::FileApiCallbacks#read_callback

Defined in:
lib/proj/file_api_callbacks.rb

#read_callback(context, handle, buffer, size_bytes, user_data) ⇒ Object

Read sizeBytes into buffer from current position and return number of bytes read



76
77
78
79
80
81
82
83
84
# File 'lib/proj/file_api_callbacks.rb', line 76

def read_callback(context, handle, buffer, size_bytes, user_data)
  file = handle_to_file(handle)
  data = self.read(file, size_bytes)
  return 0 if data.nil? || data.empty?

  read_bytes = [size_bytes, data.bytesize].min
  buffer.put_bytes(0, data, 0, read_bytes)
  read_bytes
end