From: Alejandro Colomar Date: Tue, 9 Jan 2024 16:01:52 +0000 (+0100) Subject: lib/atoi/getnum.[ch]: get_fd(): Add function for parsing a file descriptor from a... X-Git-Tag: 4.17.0-rc1~214 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a80715448b47810fafa64a4c0737690b8d0b3a32;p=thirdparty%2Fshadow.git lib/atoi/getnum.[ch]: get_fd(): Add function for parsing a file descriptor from a string Reviewed-by: "Serge E. Hallyn" Signed-off-by: Alejandro Colomar --- diff --git a/lib/atoi/getnum.c b/lib/atoi/getnum.c index 29e91581c..1931c0566 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 f92173fe8..a459e9099 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) {