From c3d480e0357ad87287bfea4a21892cd1c0471929 Mon Sep 17 00:00:00 2001 From: lifansheng Date: Fri, 3 Sep 2021 16:31:28 +0800 Subject: [PATCH] modify js_util_module Signed-off-by: lifansheng --- util/native_module_util.cpp | 114 +++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 54 deletions(-) diff --git a/util/native_module_util.cpp b/util/native_module_util.cpp index 8d98e83..f3ac0f5 100644 --- a/util/native_module_util.cpp +++ b/util/native_module_util.cpp @@ -84,42 +84,45 @@ namespace OHOS::Util { if (formatsize > 0) { format = new char[formatsize + 1]; napi_get_value_string_utf8(env, argv[0], format, formatsize + 1, &formatsize); - } - std::string str = format; - delete []format; - delete []argv; - argv = nullptr; - format = nullptr; - std::string res; - size_t strSize = str.size(); - for (size_t i = 0; i < strSize; ++i) { - if (str[i] == '%' && (i + 1 < strSize && temp.find(str[i + 1]) != std::string::npos)) { - if (str[i + 1] == 'o') { - res += "o "; - } else if (str[i + 1] == 'O') { - res += "O "; - } else if (str[i + 1] == 'i') { - res += "i "; - } else if (str[i + 1] == 'j') { - res += "j "; - } else if (str[i + 1] == 'd') { - res += "d "; - } else if (str[i + 1] == 's') { - res += "s "; - } else if (str[i + 1] == 'f') { - res += "f "; - } else if (str[i + 1] == 'c') { - res += "c "; + std::string str = format; + delete []format; + delete []argv; + argv = nullptr; + format = nullptr; + std::string res; + size_t strSize = str.size(); + for (size_t i = 0; i < strSize; ++i) { + if (str[i] == '%' && (i + 1 < strSize && temp.find(str[i + 1]) != std::string::npos)) { + if (str[i + 1] == 'o') { + res += "o "; + } else if (str[i + 1] == 'O') { + res += "O "; + } else if (str[i + 1] == 'i') { + res += "i "; + } else if (str[i + 1] == 'j') { + res += "j "; + } else if (str[i + 1] == 'd') { + res += "d "; + } else if (str[i + 1] == 's') { + res += "s "; + } else if (str[i + 1] == 'f') { + res += "f "; + } else if (str[i + 1] == 'c') { + res += "c "; + } + i++; + } else if (str[i] == '%' && (i + 1 < strSize && str[i + 1] == '%')) { + i++; } - i++; - } else if (str[i] == '%' && (i + 1 < strSize && str[i + 1] == '%')) { - i++; } + res = res.substr(0, res.size() - 1); + napi_value result = nullptr; + napi_create_string_utf8(env, res.c_str(), res.size(), &result); + return result; } - res = res.substr(0, res.size() - 1); - napi_value result = nullptr; - napi_create_string_utf8(env, res.c_str(), res.size(), &result); - return result; + napi_value res = nullptr; + NAPI_CALL(env, napi_get_undefined(env, &res)); + return res; } static std::string PrintfString(const std::string &format, const std::vector &value) @@ -144,29 +147,32 @@ namespace OHOS::Util { napi_get_value_string_utf8(env, argv[0], nullptr, 0, &formatsize); if (formatsize > 0) { format = new char[formatsize + 1]; - } - napi_get_value_string_utf8(env, argv[0], format, formatsize + 1, &formatsize); - std::string printInfo; - std::vector value; - for (size_t i = 1; i < argc; i++) { - char* valueString = nullptr; - size_t valuesize = 0; - napi_get_value_string_utf8(env, argv[i], nullptr, 0, &valuesize); - if (valuesize > 0) { - valueString = new char[valuesize + 1]; + napi_get_value_string_utf8(env, argv[0], format, formatsize + 1, &formatsize); + std::string printInfo; + std::vector value; + for (size_t i = 1; i < argc; i++) { + char* valueString = nullptr; + size_t valuesize = 0; + napi_get_value_string_utf8(env, argv[i], nullptr, 0, &valuesize); + if (valuesize > 0) { + valueString = new char[valuesize + 1]; + } + napi_get_value_string_utf8(env, argv[i], valueString, valuesize + 1, &valuesize); + value.push_back(valueString); + delete []valueString; + valueString = nullptr; } - napi_get_value_string_utf8(env, argv[i], valueString, valuesize + 1, &valuesize); - value.push_back(valueString); - delete []valueString; - valueString = nullptr; + printInfo = PrintfString(format, value); + napi_create_string_utf8(env, printInfo.c_str(), printInfo.size(), &result); + delete []format; + delete []argv; + argv = nullptr; + format = nullptr; + return result; } - printInfo = PrintfString(format, value); - napi_create_string_utf8(env, printInfo.c_str(), printInfo.size(), &result); - delete []format; - delete []argv; - argv = nullptr; - format = nullptr; - return result; + napi_value res = nullptr; + NAPI_CALL(env, napi_get_undefined(env, &res)); + return res; } static napi_value GetErrorString(napi_env env, napi_callback_info info) -- Gitee