diff --git a/interfaces/innerkits/syspara/parameter.c b/interfaces/innerkits/syspara/parameter.c index b7c914df2e156eb57e09a8a852ce02a457458482..c8b0f6df87e819467c9e41349a9c34cf7f2fe240 100644 --- a/interfaces/innerkits/syspara/parameter.c +++ b/interfaces/innerkits/syspara/parameter.c @@ -322,10 +322,12 @@ const char *GetBuildRootHash(void) int32_t GetIntParameter(const char *key, int32_t def) { char value[MAX_INT_LEN] = {0}; - int ret = GetParameter(key, "0", value, sizeof(value)); - if (ret < 0) { + size_t size = sizeof(value); + int ret = SystemGetParameter(key, value, &size); + if (ret != 0) { return def; } + long long int result = 0; if (StringToLL(value, &result) != 0) { return def; @@ -339,10 +341,12 @@ int32_t GetIntParameter(const char *key, int32_t def) uint32_t GetUintParameter(const char *key, uint32_t def) { char value[MAX_INT_LEN] = {0}; - int ret = GetParameter(key, "0", value, sizeof(value)); - if (ret < 0) { + size_t size = sizeof(value); + int ret = SystemGetParameter(key, value, &size); + if (ret != 0) { return def; } + unsigned long long int result = 0; if (StringToULL(value, &result) != 0) { return def; diff --git a/test/unittest/syspara/syspara_unittest.cpp b/test/unittest/syspara/syspara_unittest.cpp index c822bc03835c8638b4acd642d833b07ff3cae122..f484c28481bd9929781b6f6111c230f47bd1f857 100644 --- a/test/unittest/syspara/syspara_unittest.cpp +++ b/test/unittest/syspara/syspara_unittest.cpp @@ -282,6 +282,8 @@ HWTEST_F(SysparaUnitTest, parameterTest0013, TestSize.Level0) EXPECT_EQ(GetUintParameter("test.int.get", 0), 0); EXPECT_EQ(GetIntParameter("test.uint.get", 0), TEST_VALUE); EXPECT_EQ(GetUintParameter("test.uint.get", 0), TEST_VALUE); + EXPECT_EQ(GetIntParameter("test.int.default", 10), 10); //key not find,value = default + EXPECT_EQ(GetUintParameter("test.uint.default", 10), 10); //key not find,value = default EXPECT_EQ(IsValidParamValue(nullptr, 0), 0); EXPECT_EQ(IsValidParamValue("testvalue", strlen("testvalue") + 1), 1); EXPECT_EQ(StringToLL("0x11", &out), 0);