copyBytesAndFree method
Copies len bytes from ptr into Dart-managed memory and frees ptr.
Implementation
Uint8List copyBytesAndFree(ffi.Pointer<ffi.Uint8> ptr, int len) {
if (ptr == ffi.nullptr || len == 0) {
if (ptr != ffi.nullptr) {
freePointer(ptr.cast());
}
return Uint8List(0);
}
final bytes = Uint8List.fromList(ptr.asTypedList(len));
freePointer(ptr.cast());
return bytes;
}