symlinkat function

void symlinkat(
  1. String from,
  2. int tofd,
  3. String to
)

Like symlink but a relative path in TO is interpreted relative to TOFD.

Throws a PosixException if the symlink failed.

Implementation

void symlinkat(
  String from,
  int tofd,
  String to,
) {
  final cFrom = from.toNativeUtf8();
  final cTo = to.toNativeUtf8();
  _symlinkat ??= Libc().dylib.lookupFunction<
      ffi.Int32 Function(ffi.Pointer<Utf8>, ffi.Int32, ffi.Pointer<Utf8>),
      _dart_symlinkat>('symlinkat');
  final result = _symlinkat!(
    cFrom,
    tofd,
    cTo,
  );

  _throwIfErrno('symlinkat', result, cFrom, cTo);

  malloc
    ..free(cFrom)
    ..free(cTo);
}