@@ -2668,18 +2668,16 @@ static void LChown(const FunctionCallbackInfo<Value>& args) {
2668
2668
CHECK (IsSafeJsInt (args[2 ]));
2669
2669
const uv_gid_t gid = static_cast <uv_gid_t >(args[2 ].As <Integer>()->Value ());
2670
2670
2671
- FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
2672
- if ( req_wrap_async != nullptr ) { // lchown(path, uid, gid, req)
2671
+ if (argc > 3 ) { // lchown(path, uid, gid, req)
2672
+ FSReqBase* req_wrap_async = GetReqWrap (args, 3 );
2673
2673
FS_ASYNC_TRACE_BEGIN1 (
2674
2674
UV_FS_LCHOWN, req_wrap_async, " path" , TRACE_STR_COPY (*path))
2675
2675
AsyncCall (env, req_wrap_async, args, " lchown" , UTF8, AfterNoArgs,
2676
2676
uv_fs_lchown, *path, uid, gid);
2677
- } else { // lchown(path, uid, gid, undefined, ctx)
2678
- CHECK_EQ (argc, 5 );
2679
- FSReqWrapSync req_wrap_sync;
2677
+ } else { // lchown(path, uid, gid)
2678
+ FSReqWrapSync req_wrap_sync (" lchown" , *path);
2680
2679
FS_SYNC_TRACE_BEGIN (lchown);
2681
- SyncCall (env, args[4 ], &req_wrap_sync, " lchown" ,
2682
- uv_fs_lchown, *path, uid, gid);
2680
+ SyncCallAndThrowOnError (env, &req_wrap_sync, uv_fs_lchown, *path, uid, gid);
2683
2681
FS_SYNC_TRACE_END (lchown);
2684
2682
}
2685
2683
}
0 commit comments