@@ -624,7 +624,8 @@ static void Symlink(const FunctionCallbackInfo<Value>& args) {
624624static void Link (const FunctionCallbackInfo<Value>& args) {
625625 Environment* env = Environment::GetCurrent (args);
626626
627- CHECK_GE (args.Length (), 2 );
627+ int argc = args.Length ();
628+ CHECK_GE (argc, 3 );
628629
629630 BufferValue src (env->isolate (), args[0 ]);
630631 CHECK_NE (*src, nullptr );
@@ -633,11 +634,14 @@ static void Link(const FunctionCallbackInfo<Value>& args) {
633634 CHECK_NE (*dest, nullptr );
634635
635636 if (args[2 ]->IsObject ()) { // link(src, dest, req)
636- CHECK_EQ (args. Length () , 3 );
637+ CHECK_EQ (argc , 3 );
637638 AsyncDestCall (env, args, " link" , *dest, dest.length (), UTF8,
638639 AfterNoArgs, uv_fs_link, *src, *dest);
639- } else { // link(src, dest)
640- SYNC_DEST_CALL (link, *src, *dest, *src, *dest)
640+ } else { // link(src, dest, undefined, ctx)
641+ CHECK_EQ (argc, 4 );
642+ fs_req_wrap req_wrap;
643+ SyncCall (env, args[3 ], &req_wrap, " link" ,
644+ uv_fs_link, *src, *dest);
641645 }
642646}
643647
0 commit comments