From: Yu Watanabe Date: Fri, 16 Sep 2022 01:23:43 +0000 (+0900) Subject: uid-range: use parse_uid_range() X-Git-Tag: v252-rc1~178^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7cf337c50fa9a14ec2befbbf487e03f54572fe80;p=thirdparty%2Fsystemd.git uid-range: use parse_uid_range() --- diff --git a/src/basic/uid-range.c b/src/basic/uid-range.c index 630bf42f92e..f7a9a070c72 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; - - 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; - } + r = parse_uid_range(s, &start, &end); + if (r < 0) + return r; - 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) {