From 0194b244750b12d77ee0832ed38486635424af06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sat, 5 Nov 2022 13:23:20 +0000 Subject: [PATCH 1/9] update interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- .../kits/js/src/common/napi/n_async/n_async_work_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp index 0cca52412..e06e8fde9 100644 --- a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp +++ b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp @@ -49,7 +49,7 @@ static void CallbackComplete(napi_env env, napi_status status, void *data) vector argv; if (!ctx->res_.TypeIsError(true)) { - argv = { UniError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_ }; + argv = { UniError(EINVAL).GetNapiErr(env), ctx->res_.val_ }; } else { argv = { ctx->res_.val_ }; } -- Gitee From c7eda968cc872fc28902b8ec62ecdb21f9319887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sat, 5 Nov 2022 13:37:31 +0000 Subject: [PATCH 2/9] update interfaces/kits/js/src/common/uni_error.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- interfaces/kits/js/src/common/uni_error.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/src/common/uni_error.cpp b/interfaces/kits/js/src/common/uni_error.cpp index 35f8db1b4..40b5251e1 100644 --- a/interfaces/kits/js/src/common/uni_error.cpp +++ b/interfaces/kits/js/src/common/uni_error.cpp @@ -33,8 +33,16 @@ static napi_value GenerateBusinessError(napi_env env, int32_t errCode, string er napi_value msg = nullptr; code = NVal::CreateInt32(env, errCode).val_; msg = NVal::CreateUTF8String(env, errMsg).val_; - napi_create_error(env, nullptr, msg, &businessError); - napi_set_named_property(env, businessError, FILEIO_TAG_ERR_CODE.c_str(), code); + napi_status createRes = napi_create_error(env, nullptr, msg, &businessError); + if (createRes != napi_ok) { + HILOGE("Failed to create an exception, msg = %{public}s", errMsg.c_str()); + return nullptr; + } + napi_status status = napi_set_named_property(env, businessError, FILEIO_TAG_ERR_CODE.c_str(), code); + if (status != napi_ok) { + HILOGE("INNER BUG. Cannot set named property because of %{public}d", status); + return nullptr; + } return businessError; } -- Gitee From b710a47e4d1e94b3ea4e939bdb10e49b79282f7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sat, 5 Nov 2022 14:33:19 +0000 Subject: [PATCH 3/9] update interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- .../kits/js/src/common/napi/n_async/n_async_work_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp index e06e8fde9..0cca52412 100644 --- a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp +++ b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp @@ -49,7 +49,7 @@ static void CallbackComplete(napi_env env, napi_status status, void *data) vector argv; if (!ctx->res_.TypeIsError(true)) { - argv = { UniError(EINVAL).GetNapiErr(env), ctx->res_.val_ }; + argv = { UniError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_ }; } else { argv = { ctx->res_.val_ }; } -- Gitee From 5ec65726796f1fd558a6d773f0ec4f816680597b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sat, 5 Nov 2022 14:40:33 +0000 Subject: [PATCH 4/9] update interfaces/kits/js/src/mod_fileio/properties/open.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- interfaces/kits/js/src/mod_fileio/properties/open.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/src/mod_fileio/properties/open.cpp b/interfaces/kits/js/src/mod_fileio/properties/open.cpp index a024642b2..29bf3913c 100644 --- a/interfaces/kits/js/src/mod_fileio/properties/open.cpp +++ b/interfaces/kits/js/src/mod_fileio/properties/open.cpp @@ -176,9 +176,9 @@ napi_value Open::Async(napi_env env, napi_callback_info info) auto cbComplCallback = [arg](napi_env env, UniError err) -> NVal { if (err) { if (err.GetErrno(ERR_CODE_SYSTEM_POSIX) == ENAMETOOLONG) { - return {env, err.GetNapiErr(env, "Filename too long")}; + return {env, UniError(EINVAL).GetNapiErr(env, "Filename too long")}; } - return { env, err.GetNapiErr(env) }; + return { env, UniError(EINVAL).GetNapiErr(env) }; } return { NVal::CreateInt64(env, *arg) }; }; -- Gitee From 7ccc114b2bcd7a864d687add3994f7d69c1c17ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sat, 5 Nov 2022 17:57:39 +0000 Subject: [PATCH 5/9] update interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- .../kits/js/src/common/napi/n_async/n_async_work_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp index 0cca52412..f7eeb8cc5 100644 --- a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp +++ b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp @@ -51,7 +51,7 @@ static void CallbackComplete(napi_env env, napi_status status, void *data) if (!ctx->res_.TypeIsError(true)) { argv = { UniError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_ }; } else { - argv = { ctx->res_.val_ }; + argv = { ctx->res_.val_, nullptr }; } napi_value global = nullptr; -- Gitee From 8fa870fe7c84c0cfd1d1e67502ec7aa4dd8b4d9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sun, 6 Nov 2022 02:38:03 +0000 Subject: [PATCH 6/9] update interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- .../common/napi/n_async/n_async_work_callback.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp index f7eeb8cc5..3c4475c63 100644 --- a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp +++ b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp @@ -47,18 +47,20 @@ static void CallbackComplete(napi_env env, napi_status status, void *data) ctx->cbComplete_ = nullptr; } + napi_value global = nullptr; + napi_value callback = ctx->cb_.Deref(env).val_; + napi_value tmp = nullptr; + napi_get_global(env, &global); + napi_status stat; + vector argv; if (!ctx->res_.TypeIsError(true)) { argv = { UniError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_ }; + napi_call_function(env, global, callback, argv.size(), argv.data(), &tmp); } else { - argv = { ctx->res_.val_, nullptr }; + napi_call_function(env, global, callback, 1, ctx->res_.val_, &tmp); } - napi_value global = nullptr; - napi_value callback = ctx->cb_.Deref(env).val_; - napi_value tmp = nullptr; - napi_get_global(env, &global); - napi_status stat = napi_call_function(env, global, callback, argv.size(), argv.data(), &tmp); if (stat != napi_ok) { HILOGE("Failed to call function for %{public}d", stat); } -- Gitee From 5a37bf84d94047726ffe79ab15b8a385d5eced1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sun, 6 Nov 2022 02:39:06 +0000 Subject: [PATCH 7/9] update interfaces/kits/js/src/mod_fileio/properties/open.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- interfaces/kits/js/src/mod_fileio/properties/open.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/src/mod_fileio/properties/open.cpp b/interfaces/kits/js/src/mod_fileio/properties/open.cpp index 29bf3913c..a024642b2 100644 --- a/interfaces/kits/js/src/mod_fileio/properties/open.cpp +++ b/interfaces/kits/js/src/mod_fileio/properties/open.cpp @@ -176,9 +176,9 @@ napi_value Open::Async(napi_env env, napi_callback_info info) auto cbComplCallback = [arg](napi_env env, UniError err) -> NVal { if (err) { if (err.GetErrno(ERR_CODE_SYSTEM_POSIX) == ENAMETOOLONG) { - return {env, UniError(EINVAL).GetNapiErr(env, "Filename too long")}; + return {env, err.GetNapiErr(env, "Filename too long")}; } - return { env, UniError(EINVAL).GetNapiErr(env) }; + return { env, err.GetNapiErr(env) }; } return { NVal::CreateInt64(env, *arg) }; }; -- Gitee From 522141bff65f2f7d9e9e0d87b143ef0a19b9be22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sun, 6 Nov 2022 02:57:02 +0000 Subject: [PATCH 8/9] update interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- .../kits/js/src/common/napi/n_async/n_async_work_callback.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp index 3c4475c63..c3030c380 100644 --- a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp +++ b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp @@ -56,9 +56,9 @@ static void CallbackComplete(napi_env env, napi_status status, void *data) vector argv; if (!ctx->res_.TypeIsError(true)) { argv = { UniError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_ }; - napi_call_function(env, global, callback, argv.size(), argv.data(), &tmp); + stat = napi_call_function(env, global, callback, argv.size(), argv.data(), &tmp); } else { - napi_call_function(env, global, callback, 1, ctx->res_.val_, &tmp); + stat = napi_call_function(env, global, callback, 1, ctx->res_.val_, &tmp); } if (stat != napi_ok) { -- Gitee From 9e9142a2ed0007ceee6fbc6853c75569bcc7494e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E6=97=AD=E8=BE=89?= Date: Sun, 6 Nov 2022 03:09:15 +0000 Subject: [PATCH 9/9] update interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 孙旭辉 --- .../kits/js/src/common/napi/n_async/n_async_work_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp index c3030c380..6a59fbbc3 100644 --- a/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp +++ b/interfaces/kits/js/src/common/napi/n_async/n_async_work_callback.cpp @@ -58,7 +58,7 @@ static void CallbackComplete(napi_env env, napi_status status, void *data) argv = { UniError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_ }; stat = napi_call_function(env, global, callback, argv.size(), argv.data(), &tmp); } else { - stat = napi_call_function(env, global, callback, 1, ctx->res_.val_, &tmp); + stat = napi_call_function(env, global, callback, 1, &(ctx->res_.val_), &tmp); } if (stat != napi_ok) { -- Gitee