@@ -688,19 +688,23 @@ static void ReadLink(const FunctionCallbackInfo<Value>& args) {
688
688
static void Rename (const FunctionCallbackInfo<Value>& args) {
689
689
Environment* env = Environment::GetCurrent (args);
690
690
691
- CHECK_GE (args.Length (), 2 );
691
+ int argc = args.Length ();
692
+ CHECK_GE (argc, 3 );
692
693
693
694
BufferValue old_path (env->isolate (), args[0 ]);
694
695
CHECK_NE (*old_path, nullptr );
695
696
BufferValue new_path (env->isolate (), args[1 ]);
696
697
CHECK_NE (*new_path, nullptr );
697
698
698
- if (args[2 ]->IsObject ()) {
699
- CHECK_EQ (args. Length () , 3 );
699
+ if (args[2 ]->IsObject ()) { // rename(old_path, new_path, req)
700
+ CHECK_EQ (argc , 3 );
700
701
AsyncDestCall (env, args, " rename" , *new_path, new_path.length (),
701
702
UTF8, AfterNoArgs, uv_fs_rename, *old_path, *new_path);
702
- } else {
703
- SYNC_DEST_CALL (rename, *old_path, *new_path, *old_path, *new_path)
703
+ } else { // rename(old_path, new_path, undefined, ctx)
704
+ CHECK_EQ (argc, 4 );
705
+ fs_req_wrap req_wrap;
706
+ SyncCall (env, args[3 ], &req_wrap, " rename" ,
707
+ uv_fs_rename, *old_path, *new_path);
704
708
}
705
709
}
706
710
0 commit comments