mirror of
https://gitee.com/openharmony/global_i18n_standard
synced 2024-11-23 04:40:04 +00:00
Modify security vulnerabilities
Signed-off-by: sunyaozu <sunyaozu@huawei.com>
This commit is contained in:
parent
4b9e7de25a
commit
8783cb0337
@ -244,6 +244,9 @@ napi_value I18nAddon::UnitConvert(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::string fromUnit;
|
||||
GetOptionValue(env, argv[0], "unit", fromUnit);
|
||||
std::string fromMeasSys;
|
||||
@ -261,7 +264,6 @@ napi_value I18nAddon::UnitConvert(napi_env env, napi_callback_info info)
|
||||
// 3 is the index of value
|
||||
status = napi_get_value_string_utf8(env, argv[3], localeBuf.data(), len + 1, &len);
|
||||
if (status != napi_ok) {
|
||||
HiLog::Error(LABEL, "Failed to get string item");
|
||||
return nullptr;
|
||||
}
|
||||
std::vector<std::string> localeTags;
|
||||
@ -269,7 +271,6 @@ napi_value I18nAddon::UnitConvert(napi_env env, napi_callback_info info)
|
||||
std::map<std::string, std::string> map = {};
|
||||
map.insert(std::make_pair("style", "unit"));
|
||||
if (!convertStatus) {
|
||||
HiLog::Error(LABEL, "Do not support the conversion");
|
||||
map.insert(std::make_pair("unit", fromUnit));
|
||||
} else {
|
||||
map.insert(std::make_pair("unit", toUnit));
|
||||
@ -295,6 +296,9 @@ napi_value I18nAddon::GetDateOrder(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> languageBuf(len + 1);
|
||||
@ -627,6 +631,9 @@ napi_value I18nAddon::IsDigitAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -655,6 +662,9 @@ napi_value I18nAddon::IsSpaceCharAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -683,6 +693,9 @@ napi_value I18nAddon::IsWhiteSpaceAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -711,6 +724,9 @@ napi_value I18nAddon::IsRTLCharacterAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -739,6 +755,9 @@ napi_value I18nAddon::IsIdeoGraphicAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -767,6 +786,9 @@ napi_value I18nAddon::IsLetterAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -795,6 +817,9 @@ napi_value I18nAddon::IsLowerCaseAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -823,6 +848,9 @@ napi_value I18nAddon::IsUpperCaseAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -851,6 +879,9 @@ napi_value I18nAddon::GetTypeAddon(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
@ -905,6 +936,9 @@ napi_value I18nAddon::GetSystemCountries(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> localeBuf(len + 1);
|
||||
@ -981,6 +1015,9 @@ napi_value I18nAddon::GetDisplayLanguage(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> localeBuf(len + 1);
|
||||
@ -1020,6 +1057,9 @@ napi_value I18nAddon::GetDisplayCountry(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> localeBuf(len + 1);
|
||||
@ -1058,6 +1098,9 @@ napi_value I18nAddon::IsSuggested(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> languageBuf(len + 1);
|
||||
@ -1095,6 +1138,9 @@ napi_value I18nAddon::SetSystemLanguage(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> languageBuf(len + 1);
|
||||
@ -1120,6 +1166,9 @@ napi_value I18nAddon::SetSystemRegion(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> regionBuf(len + 1);
|
||||
@ -1145,6 +1194,9 @@ napi_value I18nAddon::SetSystemLocale(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> localeBuf(len + 1);
|
||||
@ -1170,6 +1222,9 @@ napi_value I18nAddon::IsRTL(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
size_t len = 0;
|
||||
napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
std::vector<char> localeBuf(len + 1);
|
||||
@ -1231,6 +1286,9 @@ void GetOptionValue(napi_env env, napi_value options, const std::string &optionN
|
||||
napi_get_value_string_utf8(env, optionValue, nullptr, 0, &len);
|
||||
std::vector<char> optionBuf(len + 1);
|
||||
status = napi_get_value_string_utf8(env, optionValue, optionBuf.data(), len + 1, &len);
|
||||
if (status != napi_ok) {
|
||||
return;
|
||||
}
|
||||
map.insert(make_pair(optionName, optionBuf.data()));
|
||||
}
|
||||
}
|
||||
@ -1243,51 +1301,45 @@ napi_value I18nAddon::PhoneNumberFormatConstructor(napi_env env, napi_callback_i
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
if (valueType != napi_valuetype::napi_string) {
|
||||
napi_throw_type_error(env, nullptr, "Parameter type does not match");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
size_t len = 0;
|
||||
status = napi_get_value_string_utf8(env, argv[0], nullptr, 0, &len);
|
||||
if (status != napi_ok) {
|
||||
HiLog::Error(LABEL, "Get country tag length failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::vector<char> country (len + 1);
|
||||
status = napi_get_value_string_utf8(env, argv[0], country.data(), len + 1, &len);
|
||||
if (status != napi_ok) {
|
||||
HiLog::Error(LABEL, "Get country tag failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> options;
|
||||
GetOptionValue(env, argv[1], "type", options);
|
||||
|
||||
std::unique_ptr<I18nAddon> obj = nullptr;
|
||||
obj = std::make_unique<I18nAddon>();
|
||||
if (!obj) {
|
||||
HiLog::Error(LABEL, "Create I18nAddon failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
status = napi_wrap(env, thisVar, reinterpret_cast<void *>(obj.get()),
|
||||
I18nAddon::Destructor, nullptr, &obj->wrapper_);
|
||||
if (status != napi_ok) {
|
||||
HiLog::Error(LABEL, "Wrap I18nAddon failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!obj->InitPhoneNumberFormatContext(env, info, country.data(), options)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
obj.release();
|
||||
|
||||
return thisVar;
|
||||
}
|
||||
|
||||
@ -2391,6 +2443,9 @@ napi_value I18nAddon::IndexUtilConstructor(napi_env env, napi_callback_info info
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::string localeTag = "";
|
||||
if (argv[0] != nullptr) {
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
@ -2604,6 +2659,9 @@ napi_value I18nAddon::Set24HourClock(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool option = false;
|
||||
status = napi_get_value_bool(env, argv[0], &option);
|
||||
@ -2628,6 +2686,9 @@ napi_value I18nAddon::AddPreferredLanguage(napi_env env, napi_callback_info info
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
@ -2672,6 +2733,9 @@ napi_value I18nAddon::RemovePreferredLanguage(napi_env env, napi_callback_info i
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
napi_typeof(env, argv[0], &valueType);
|
||||
@ -2926,6 +2990,9 @@ napi_value I18nAddon::GetTimeZoneDisplayName(napi_env env, napi_callback_info in
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
I18nAddon *obj = nullptr;
|
||||
status = napi_unwrap(env, thisVar, reinterpret_cast<void **>(&obj));
|
||||
@ -2968,6 +3035,9 @@ napi_value I18nAddon::GetOffset(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
double date = 0;
|
||||
if (argv[0]) {
|
||||
|
@ -181,6 +181,9 @@ void GetOptionValue(napi_env env, napi_value options, const std::string &optionN
|
||||
napi_get_value_string_utf8(env, optionValue, nullptr, 0, &len);
|
||||
std::vector<char> optionBuf(len + 1);
|
||||
status = napi_get_value_string_utf8(env, optionValue, optionBuf.data(), len + 1, &len);
|
||||
if (status != napi_ok) {
|
||||
return;
|
||||
}
|
||||
map.insert(make_pair(optionName, optionBuf.data()));
|
||||
}
|
||||
}
|
||||
@ -300,6 +303,9 @@ napi_value IntlAddon::LocaleConstructor(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::string localeTag = GetLocaleTag(env, argv[0]);
|
||||
|
||||
std::map<std::string, std::string> map = {};
|
||||
@ -364,12 +370,14 @@ void GetLocaleTags(napi_env env, napi_value rawLocaleTag, std::vector<std::strin
|
||||
|
||||
napi_value IntlAddon::DateTimeFormatConstructor(napi_env env, napi_callback_info info)
|
||||
{
|
||||
// Need to get one parameter of a locale in string format to create DateTimeFormat object.
|
||||
size_t argc = 2;
|
||||
napi_value argv[2] = { 0 };
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::vector<std::string> localeTags;
|
||||
if (argv[0] != nullptr) {
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
@ -429,13 +437,14 @@ bool IntlAddon::InitDateTimeFormatContext(napi_env env, napi_callback_info info,
|
||||
|
||||
napi_value IntlAddon::RelativeTimeFormatConstructor(napi_env env, napi_callback_info info)
|
||||
{
|
||||
// Need to get one parameter of a locale in string format to create DateTimeFormat object.
|
||||
size_t argc = 2;
|
||||
napi_value argv[2] = { 0 };
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::vector<std::string> localeTags;
|
||||
if (argv[0] != nullptr) {
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
@ -454,31 +463,26 @@ napi_value IntlAddon::RelativeTimeFormatConstructor(napi_env env, napi_callback_
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> map = {};
|
||||
if (argv[1] != nullptr) {
|
||||
GetRelativeTimeOptionValues(env, argv[1], map);
|
||||
}
|
||||
|
||||
std::unique_ptr<IntlAddon> obj = nullptr;
|
||||
obj = std::make_unique<IntlAddon>();
|
||||
if (!obj) {
|
||||
HiLog::Error(LABEL, "Create IntlAddon failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
status =
|
||||
napi_wrap(env, thisVar, reinterpret_cast<void *>(obj.get()), IntlAddon::Destructor, nullptr, &obj->wrapper_);
|
||||
if (status != napi_ok) {
|
||||
HiLog::Error(LABEL, "Wrap IntlAddon failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!obj->InitRelativeTimeFormatContext(env, info, localeTags, map)) {
|
||||
HiLog::Error(LABEL, "Init RelativeTimeFormat failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
obj.release();
|
||||
return thisVar;
|
||||
}
|
||||
@ -595,13 +599,14 @@ void GetNumberOptionValues(napi_env env, napi_value options, std::map<std::strin
|
||||
|
||||
napi_value IntlAddon::NumberFormatConstructor(napi_env env, napi_callback_info info)
|
||||
{
|
||||
// Need to get one parameter of a locale in string format to create DateTimeFormat object.
|
||||
size_t argc = 2;
|
||||
napi_value argv[2] = { 0 };
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::vector<std::string> localeTags;
|
||||
if (argv[0] != nullptr) {
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
@ -621,31 +626,25 @@ napi_value IntlAddon::NumberFormatConstructor(napi_env env, napi_callback_info i
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> map = {};
|
||||
if (argv[1] != nullptr) {
|
||||
GetNumberOptionValues(env, argv[1], map);
|
||||
}
|
||||
|
||||
std::unique_ptr<IntlAddon> obj = nullptr;
|
||||
obj = std::make_unique<IntlAddon>();
|
||||
if (!obj) {
|
||||
HiLog::Error(LABEL, "Create IntlAddon failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
status =
|
||||
napi_wrap(env, thisVar, reinterpret_cast<void *>(obj.get()), IntlAddon::Destructor, nullptr, &obj->wrapper_);
|
||||
if (status != napi_ok) {
|
||||
HiLog::Error(LABEL, "Wrap IntlAddon failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!obj->InitNumberFormatContext(env, info, localeTags, map)) {
|
||||
HiLog::Error(LABEL, "Init NumberFormat failed");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
obj.release();
|
||||
return thisVar;
|
||||
}
|
||||
@ -1486,6 +1485,9 @@ napi_value IntlAddon::CollatorConstructor(napi_env env, napi_callback_info info)
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
std::vector<std::string> localeTags;
|
||||
if (argv[0] != nullptr) {
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
@ -1504,12 +1506,10 @@ napi_value IntlAddon::CollatorConstructor(napi_env env, napi_callback_info info)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> map = {};
|
||||
if (argv[1] != nullptr) {
|
||||
GetCollatorOptionValue(env, argv[1], map);
|
||||
}
|
||||
|
||||
std::unique_ptr<IntlAddon> obj = nullptr;
|
||||
obj = std::make_unique<IntlAddon>();
|
||||
if (!obj) {
|
||||
@ -1869,6 +1869,9 @@ napi_value IntlAddon::PluralRulesConstructor(napi_env env, napi_callback_info in
|
||||
napi_value thisVar = nullptr;
|
||||
void *data = nullptr;
|
||||
napi_status status = napi_get_cb_info(env, info, &argc, argv, &thisVar, &data);
|
||||
if (status != napi_ok) {
|
||||
return nullptr;
|
||||
}
|
||||
napi_valuetype valueType = napi_valuetype::napi_undefined;
|
||||
std::vector<std::string> localeTags;
|
||||
if (argv[0] != nullptr) {
|
||||
|
Loading…
Reference in New Issue
Block a user