@@ -1432,7 +1432,7 @@ static void Rename(const FunctionCallbackInfo<Value>& args) {
14321432 Isolate* isolate = env->isolate ();
14331433
14341434 const int argc = args.Length ();
1435- CHECK_GE (argc, 3 );
1435+ CHECK_GE (argc, 2 );
14361436
14371437 BufferValue old_path (isolate, args[0 ]);
14381438 CHECK_NOT_NULL (*old_path);
@@ -1449,8 +1449,8 @@ static void Rename(const FunctionCallbackInfo<Value>& args) {
14491449 permission::PermissionScope::kFileSystemWrite ,
14501450 new_path.ToStringView ());
14511451
1452- FSReqBase* req_wrap_async = GetReqWrap (args, 2 );
1453- if ( req_wrap_async != nullptr ) {
1452+ if (argc > 2 ) { // rename(old_path, new_path, req)
1453+ FSReqBase* req_wrap_async = GetReqWrap (args, 2 );
14541454 FS_ASYNC_TRACE_BEGIN2 (UV_FS_RENAME,
14551455 req_wrap_async,
14561456 " old_path" ,
@@ -1460,12 +1460,11 @@ static void Rename(const FunctionCallbackInfo<Value>& args) {
14601460 AsyncDestCall (env, req_wrap_async, args, " rename" , *new_path,
14611461 new_path.length (), UTF8, AfterNoArgs, uv_fs_rename,
14621462 *old_path, *new_path);
1463- } else {
1464- CHECK_EQ (argc, 4 );
1465- FSReqWrapSync req_wrap_sync;
1463+ } else { // rename(old_path, new_path)
1464+ FSReqWrapSync req_wrap_sync (" rename" , *old_path, *new_path);
14661465 FS_SYNC_TRACE_BEGIN (rename);
1467- SyncCall (env, args[ 3 ], &req_wrap_sync, " rename " , uv_fs_rename,
1468- *old_path, *new_path);
1466+ SyncCallAndThrowOnError (
1467+ env, &req_wrap_sync, uv_fs_rename, *old_path, *new_path);
14691468 FS_SYNC_TRACE_END (rename);
14701469 }
14711470}
0 commit comments