ffiCreateString function
Implementation
Pointer<Uint8ListFFI> ffiCreateString(String? value) {
if (value == null) return nullptr;
final units = utf8.encode(value);
final Pointer<Uint8> result = malloc<Uint8>(units.length + 1);
final Uint8List nativeString = result.asTypedList(units.length + 1);
nativeString.setAll(0, units);
nativeString[units.length] = 0;
final Pointer<Uint8ListFFI> pointer = calloc.call(sizeOf<Uint8ListFFI>());
pointer.ref.str = result.cast();
pointer.ref.length = units.length;
return pointer;
}