From 7cf337c50fa9a14ec2befbbf487e03f54572fe80 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 16 Sep 2022 10:23:43 +0900 Subject: [PATCH] uid-range: use parse_uid_range() --- src/basic/uid-range.c | 33 +++++---------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/src/basic/uid-range.c b/src/basic/uid-range.c index 630bf42f92..f7a9a070c7 100644 --- a/src/basic/uid-range.c +++ b/src/basic/uid-range.c @@ -109,41 +109,18 @@ int uid_range_add(UidRange **p, size_t *n, uid_t start, uid_t nr) { } int uid_range_add_str(UidRange **p, size_t *n, const char *s) { - uid_t start, nr; - const char *t; + uid_t start, end; int r; assert(p); assert(n); assert(s); - t = strchr(s, '-'); - if (t) { - char *b; - uid_t end; + r = parse_uid_range(s, &start, &end); + if (r < 0) + return r; - b = strndupa_safe(s, t - s); - r = parse_uid(b, &start); - if (r < 0) - return r; - - r = parse_uid(t+1, &end); - if (r < 0) - return r; - - if (end < start) - return -EINVAL; - - nr = end - start + 1; - } else { - r = parse_uid(s, &start); - if (r < 0) - return r; - - nr = 1; - } - - return uid_range_add(p, n, start, nr); + return uid_range_add(p, n, start, end - start + 1); } int uid_range_next_lower(const UidRange *p, size_t n, uid_t *uid) {