| Index: runtime/bin/file.cc
|
| diff --git a/runtime/bin/file.cc b/runtime/bin/file.cc
|
| index a3906d33588895482ac994f44385cf280bf24b0e..f457dd97f44c6f0bc950fdb0f4017294f20177a3 100644
|
| --- a/runtime/bin/file.cc
|
| +++ b/runtime/bin/file.cc
|
| @@ -425,6 +425,29 @@ void FUNCTION_NAME(File_Create)(Dart_NativeArguments args) {
|
| }
|
|
|
|
|
| +void FUNCTION_NAME(File_CreateLink)(Dart_NativeArguments args) {
|
| + Dart_EnterScope();
|
| + if (Dart_IsString(Dart_GetNativeArgument(args, 0)) &&
|
| + Dart_IsString(Dart_GetNativeArgument(args, 1))) {
|
| + const char* name =
|
| + DartUtils::GetStringValue(Dart_GetNativeArgument(args, 0));
|
| + const char* target =
|
| + DartUtils::GetStringValue(Dart_GetNativeArgument(args, 1));
|
| + if (!File::CreateLink(name, target)) {
|
| + Dart_Handle err = DartUtils::NewDartOSError();
|
| + if (Dart_IsError(err)) Dart_PropagateError(err);
|
| + Dart_SetReturnValue(args, err);
|
| + }
|
| + } else {
|
| + OSError os_error(-1, "Invalid argument", OSError::kUnknown);
|
| + Dart_Handle err = DartUtils::NewDartOSError(&os_error);
|
| + if (Dart_IsError(err)) Dart_PropagateError(err);
|
| + Dart_SetReturnValue(args, err);
|
| + }
|
| + Dart_ExitScope();
|
| +}
|
| +
|
| +
|
| void FUNCTION_NAME(File_Delete)(Dart_NativeArguments args) {
|
| Dart_EnterScope();
|
| const char* str =
|
|
|