]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/, libsubid/, po/, src/: get_gid(): Move function to "atoi/getnum.h"
authorAlejandro Colomar <alx@kernel.org>
Tue, 9 Jan 2024 14:34:28 +0000 (15:34 +0100)
committerAlejandro Colomar <alx@kernel.org>
Sat, 29 Jun 2024 18:00:18 +0000 (20:00 +0200)
Implement it as an inline function, and add restrict and ATTR_STRING()
and ATTR_ACCESS() as appropriate.

Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/Makefile.am
lib/atoi/getnum.c [new file with mode: 0644]
lib/atoi/getnum.h [moved from lib/get_gid.c with 50% similarity]
lib/prototypes.h
lib/sgetgrent.c
lib/sgetpwent.c
libsubid/api.c
po/POTFILES.in
src/groupadd.c
src/groupmod.c
src/newusers.c

index b5f601a6b4b4df72f174d513f6175bebafadeb9c..bcf859833bca2db970e3f8eea29db87caa77d2a9 100644 (file)
@@ -33,6 +33,8 @@ libshadow_la_SOURCES = \
        alloc.h \
        atoi/a2i.c \
        atoi/a2i.h \
+       atoi/getnum.c \
+       atoi/getnum.h \
        atoi/str2i.c \
        atoi/str2i.h \
        atoi/strtoi.c \
@@ -71,7 +73,6 @@ libshadow_la_SOURCES = \
        find_new_sub_gids.c \
        find_new_sub_uids.c \
        fputsx.c \
-       get_gid.c \
        get_pid.c \
        get_uid.c \
        getdate.h \
diff --git a/lib/atoi/getnum.c b/lib/atoi/getnum.c
new file mode 100644 (file)
index 0000000..77dd231
--- /dev/null
@@ -0,0 +1,13 @@
+// SPDX-FileCopyrightText: 2009, Nicolas François
+// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
+// SPDX-License-Identifier: BSD-3-Clause
+
+
+#include <config.h>
+
+#include <sys/types.h>
+
+#include "atoi/getnum.h"
+
+
+extern inline int get_gid(const char *restrict gidstr, gid_t *restrict gid);
similarity index 50%
rename from lib/get_gid.c
rename to lib/atoi/getnum.h
index 6975792ec777d62b7f37685d10b3b7fb22cb614e..c6f93b84b83e2afc1dcfcf1d3f2e30bb0f821e3c 100644 (file)
@@ -3,19 +3,29 @@
 // SPDX-License-Identifier: BSD-3-Clause
 
 
-#include <config.h>
+#ifndef SHADOW_INCLUDE_LIB_ATOI_GETNUM_H_
+#define SHADOW_INCLUDE_LIB_ATOI_GETNUM_H_
+
 
-#ident "$Id$"
+#include <config.h>
 
+#include <stddef.h>
 #include <sys/types.h>
 
-#include "prototypes.h"
 #include "atoi/a2i.h"
+#include "attr.h"
 #include "typetraits.h"
 
 
-int
-get_gid(const char *gidstr, gid_t *gid)
+ATTR_STRING(1) ATTR_ACCESS(write_only, 2)
+inline int get_gid(const char *restrict gidstr, gid_t *restrict gid);
+
+
+inline int
+get_gid(const char *restrict gidstr, gid_t *restrict gid)
 {
        return a2i(gid_t, gid, gidstr, NULL, 10, type_min(gid_t), type_max(gid_t));
 }
+
+
+#endif  // include guard
index 91ff368b79b6e51522950d8932500bf1b677f659..40e76625cd8c35a5e7a19bdb7ab43ea9fb94b14d 100644 (file)
@@ -142,10 +142,6 @@ extern int find_new_sub_gids (gid_t *range_start, unsigned long *range_count);
 extern int find_new_sub_uids (uid_t *range_start, unsigned long *range_count);
 #endif                         /* ENABLE_SUBIDS */
 
-
-/* get_gid.c */
-extern int get_gid (const char *gidstr, gid_t *gid);
-
 /* getgr_nam_gid.c */
 extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname);
 
index 6cde15c3fb52025d23d5ee67c19509a1fd9329db..26ddf5c2a83bff91fd3cdd0a819dbbd99a7c0be5 100644 (file)
 #include <string.h>
 
 #include "alloc.h"
+#include "atoi/getnum.h"
 #include "defines.h"
 #include "prototypes.h"
 
+
 #define        NFIELDS 4
 
 /*
index 75c91770b080eaca356bfd36e7c691d44d88733c..ad9ace3c57c00526f122bf5235257e4f8a88fe9a 100644 (file)
 #include <pwd.h>
 #include <string.h>
 
+#include "atoi/getnum.h"
 #include "defines.h"
 #include "prototypes.h"
 #include "shadowlog_internal.h"
 
+
 #define        NFIELDS 7
 
 /*
index 76a9eec4d3f47d6666f7bab8f24ebff6fb417dc4..feed2f7c2322fc5076a651736f825a33eeea2b5a 100644 (file)
 #include <string.h>
 #include <pwd.h>
 #include <stdbool.h>
+
 #include "subordinateio.h"
 #include "idmapping.h"
 #include "subid.h"
 #include "shadowlog.h"
 
+
 bool subid_init(const char *progname, FILE * logfd)
 {
        FILE *shadow_logfd;
index 6d2c0521c0ccf5a10992767d69ea7e870e6ee812..9ebbc017bbc34d5ee4270c3ea06a7641cf19e70c 100644 (file)
@@ -22,7 +22,6 @@ lib/find_new_sub_gids.c
 lib/find_new_sub_uids.c
 lib/find_new_uid.c
 lib/fputsx.c
-lib/get_gid.c
 lib/get_uid.c
 lib/getdef.c
 lib/getgr_nam_gid.c
index 46e6550ae56c4f04842e5fe1b13b849b89f135f9..095a41eedd61975c4e446f14c590a4368acf4afc 100644 (file)
@@ -23,6 +23,8 @@
 #include <pwd.h>
 #endif                         /* USE_PAM */
 #endif                         /* ACCT_TOOLS_SETUID */
+
+#include "atoi/getnum.h"
 #include "chkname.h"
 #include "defines.h"
 #include "getdef.h"
@@ -37,6 +39,7 @@
 #include "shadowlog.h"
 #include "run_part.h"
 
+
 /*
  * exit status values
  */
index 989d7ea349c1ce0704cdaa35819914ad1fa2e136..d7aaf66604b0687104d4c0974bc2bd99ba0371c2 100644 (file)
@@ -27,6 +27,7 @@
 #endif                         /* ACCT_TOOLS_SETUID */
 
 #include "alloc.h"
+#include "atoi/getnum.h"
 #include "chkname.h"
 #include "defines.h"
 #include "groupio.h"
@@ -40,6 +41,8 @@
 #include "shadowlog.h"
 #include "string/stpecpy.h"
 #include "string/stpeprintf.h"
+
+
 /*
  * exit status values
  */
index 0705b57975a9a9ef69f7a1dc80cbfdc8ad7fb3bb..47a587ec0e545b24eea88ff40210a719e0b11543 100644 (file)
@@ -31,6 +31,7 @@
 #include <string.h>
 
 #include "alloc.h"
+#include "atoi/getnum.h"
 #include "atoi/str2i.h"
 #ifdef ACCT_TOOLS_SETUID
 #ifdef USE_PAM