diff --git a/lib/atoi/getnum.c b/lib/atoi/getnum.c index 29e91581..1931c056 100644 --- a/lib/atoi/getnum.c +++ b/lib/atoi/getnum.c @@ -10,5 +10,6 @@ #include "atoi/getnum.h" +extern inline int get_fd(const char *restrict fdstr, int *restrict fd); extern inline int get_gid(const char *restrict gidstr, gid_t *restrict gid); extern inline int get_pid(const char *restrict pidstr, pid_t *restrict pid); diff --git a/lib/atoi/getnum.h b/lib/atoi/getnum.h index f92173fe..a459e909 100644 --- a/lib/atoi/getnum.h +++ b/lib/atoi/getnum.h @@ -9,6 +9,7 @@ #include +#include #include #include @@ -17,12 +18,21 @@ #include "typetraits.h" +ATTR_STRING(1) ATTR_ACCESS(write_only, 2) +inline int get_fd(const char *restrict fdstr, int *restrict fd); ATTR_STRING(1) ATTR_ACCESS(write_only, 2) inline int get_gid(const char *restrict gidstr, gid_t *restrict gid); ATTR_STRING(1) ATTR_ACCESS(write_only, 2) inline int get_pid(const char *restrict pidstr, pid_t *restrict pid); +inline int +get_fd(const char *restrict fdstr, int *restrict fd) +{ + return a2si(fd, fdstr, NULL, 10, 0, INT_MAX); +} + + inline int get_gid(const char *restrict gidstr, gid_t *restrict gid) {