fd-util: introduce parse_fd()

It's a simple wrapper for safe_atoi() that returns error if the parsed
fd is < 0 .
This commit is contained in:
David Tardon
2023-05-05 08:54:28 +02:00
parent 9f2f16a344
commit b8f83d7f0c
2 changed files with 16 additions and 0 deletions
+15
View File
@@ -333,6 +333,21 @@ int parse_errno(const char *t) {
return e;
}
int parse_fd(const char *t) {
int r, fd;
assert(t);
r = safe_atoi(t, &fd);
if (r < 0)
return r;
if (fd < 0)
return -ERANGE;
return fd;
}
static const char *mangle_base(const char *s, unsigned *base) {
const char *k;
+1
View File
@@ -21,6 +21,7 @@ int parse_size(const char *t, uint64_t base, uint64_t *size);
int parse_sector_size(const char *t, uint64_t *ret);
int parse_range(const char *t, unsigned *lower, unsigned *upper);
int parse_errno(const char *t);
int parse_fd(const char *t);
#define SAFE_ATO_REFUSE_PLUS_MINUS (1U << 30)
#define SAFE_ATO_REFUSE_LEADING_ZERO (1U << 29)