util: add parse_uid_range() helper function

This commit is contained in:
Yu Watanabe
2020-02-02 22:43:38 +09:00
parent af06ddf51a
commit 03de302a31
2 changed files with 24 additions and 0 deletions
+23
View File
@@ -62,6 +62,29 @@ int parse_uid(const char *s, uid_t *ret) {
return 0;
}
int parse_uid_range(const char *s, uid_t *ret_lower, uid_t *ret_upper) {
uint32_t u, l;
int r;
assert(s);
assert(ret_lower);
assert(ret_upper);
r = parse_range(s, &l, &u);
if (r < 0)
return r;
if (l > u)
return -EINVAL;
if (!uid_is_valid(l) || !uid_is_valid(u))
return -ENXIO;
*ret_lower = l;
*ret_upper = u;
return 0;
}
char* getlogname_malloc(void) {
uid_t uid;
struct stat st;