Chromium Code Reviews| 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); |
|
Søren Gjesse
2013/03/12 08:41:49
I think we should use DartUtils::ArgumentError her
Bill Hesse
2013/03/13 16:17:38
Done.
|
| + 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 = |