diff --git a/shared/config-parser.c b/shared/config-parser.c index 4c672206..1e08759e 100644 --- a/shared/config-parser.c +++ b/shared/config-parser.c @@ -186,7 +186,6 @@ weston_config_section_get_uint(struct weston_config_section *section, const char *key, uint32_t *value, uint32_t default_value) { - long int ret; struct weston_config_entry *entry; char *end; @@ -198,22 +197,13 @@ weston_config_section_get_uint(struct weston_config_section *section, } errno = 0; - ret = strtol(entry->value, &end, 0); + *value = strtoul(entry->value, &end, 0); if (errno != 0 || end == entry->value || *end != '\0') { *value = default_value; errno = EINVAL; return -1; } - /* check range */ - if (ret < 0 || ret > INT_MAX) { - *value = default_value; - errno = ERANGE; - return -1; - } - - *value = ret; - return 0; } diff --git a/tests/config-parser-test.c b/tests/config-parser-test.c index f88e89b8..735da4e0 100644 --- a/tests/config-parser-test.c +++ b/tests/config-parser-test.c @@ -117,7 +117,6 @@ static struct zuc_fixture config_test_t1 = { "# more comments\n" "number=5252\n" "zero=0\n" - "negative=-42\n" "flag=false\n" "\n" "[stuff]\n" @@ -462,36 +461,6 @@ ZUC_TEST_F(config_test_t1, test019, data) ZUC_ASSERT_EQ(0, errno); } -ZUC_TEST_F(config_test_t1, test020, data) -{ - int r; - int32_t n; - struct weston_config_section *section; - struct weston_config *config = data; - - section = weston_config_get_section(config, "bar", NULL, NULL); - r = weston_config_section_get_int(section, "negative", &n, 600); - - ZUC_ASSERT_EQ(0, r); - ZUC_ASSERT_EQ(-42, n); - ZUC_ASSERT_EQ(0, errno); -} - -ZUC_TEST_F(config_test_t1, test021, data) -{ - int r; - uint32_t n; - struct weston_config_section *section; - struct weston_config *config = data; - - section = weston_config_get_section(config, "bar", NULL, NULL); - r = weston_config_section_get_uint(section, "negative", &n, 600); - - ZUC_ASSERT_EQ(-1, r); - ZUC_ASSERT_EQ(600, n); - ZUC_ASSERT_EQ(ERANGE, errno); -} - ZUC_TEST_F(config_test_t2, doesnt_parse, data) { struct weston_config *config = data;