basic/rlimit-util.c: drop duplicate checks

parse_sec() and parse_time() already handle "infinity".
TEST(rlimit_parse_format) covered the first case, also extend it to cover
the second case.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2025-07-04 12:11:00 +02:00
parent fb629de435
commit 54889c6cfb
2 changed files with 8 additions and 15 deletions
-10
View File
@@ -131,11 +131,6 @@ static int rlimit_parse_sec(const char *val, rlim_t *ret) {
assert(val);
assert(ret);
if (streq(val, "infinity")) {
*ret = RLIM_INFINITY;
return 0;
}
r = parse_sec(val, &t);
if (r < 0)
return r;
@@ -159,11 +154,6 @@ static int rlimit_parse_usec(const char *val, rlim_t *ret) {
assert(val);
assert(ret);
if (streq(val, "infinity")) {
*ret = RLIM_INFINITY;
return 0;
}
r = parse_time(val, &t, 1);
if (r < 0)
return r;
+8 -5
View File
@@ -29,14 +29,14 @@ static void test_rlimit_parse_format_one(int resource, const char *string, rlim_
if (ret < 0)
return;
assert_se(rl.rlim_cur == soft);
assert_se(rl.rlim_max == hard);
ASSERT_EQ(rl.rlim_cur, soft);
ASSERT_EQ(rl.rlim_max, hard);
assert_se(rlimit_format(&rl, &f) >= 0);
ASSERT_OK(rlimit_format(&rl, &f));
ASSERT_STREQ(formatted, f);
assert_se(rlimit_parse(resource, formatted, &rl2) >= 0);
assert_se(memcmp(&rl, &rl2, sizeof(struct rlimit)) == 0);
ASSERT_OK(rlimit_parse(resource, formatted, &rl2));
ASSERT_EQ(memcmp(&rl, &rl2, sizeof(struct rlimit)), 0);
}
TEST(rlimit_parse_format) {
@@ -61,6 +61,9 @@ TEST(rlimit_parse_format) {
test_rlimit_parse_format_one(RLIMIT_NICE, "+19", 1, 1, 0, "1");
test_rlimit_parse_format_one(RLIMIT_NICE, "+20", 0, 0, -ERANGE, "0");
test_rlimit_parse_format_one(RLIMIT_NICE, "+0", 20, 20, 0, "20");
test_rlimit_parse_format_one(RLIMIT_NICE, "+0", 20, 20, 0, "20");
test_rlimit_parse_format_one(RLIMIT_RTTIME, "25min:13h", 25*USEC_PER_MINUTE, 13*USEC_PER_HOUR, 0, "1500000000:46800000000");
test_rlimit_parse_format_one(RLIMIT_RTTIME, "infinity", RLIM_INFINITY, RLIM_INFINITY, 0, "infinity");
}
TEST(rlimit_from_string) {