]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/shadow/, lib/, src/: getsgnam(): Move to separate file
authorAlejandro Colomar <alx@kernel.org>
Sun, 10 Nov 2024 17:52:57 +0000 (18:52 +0100)
committerIker Pedrosa <ikerpedrosam@gmail.com>
Tue, 7 Oct 2025 09:03:09 +0000 (11:03 +0200)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/Makefile.am
lib/gshadow.c
lib/gshadow_.h
lib/shadow/gshadow/getsgnam.c [new file with mode: 0644]
lib/shadow/gshadow/getsgnam.h [new file with mode: 0644]
src/newgrp.c

index dee5e095ab9a2f68291191c0a875e06f0bf03f11..300162b582213a20e5ce9b8945ad00104c9d85fe 100644 (file)
@@ -178,6 +178,8 @@ libshadow_la_SOURCES = \
        shadow/gshadow/endsgent.h \
        shadow/gshadow/fgetsgent.c \
        shadow/gshadow/fgetsgent.h \
+       shadow/gshadow/getsgnam.c \
+       shadow/gshadow/getsgnam.h \
        shadow/gshadow/gshadow.c \
        shadow/gshadow/gshadow.h \
        shadow/gshadow/putsgent.c \
index c6e1ff3ac0f724e9b342fb7ed32352e487f60731..b16ca4764df988c6080da474f03e3e5c00f625f7 100644 (file)
        }
        return fgetsgent(gshadow);
 }
-
-/*
- * getsgnam - get a shadow group entry by name
- */
-
-/*@observer@*//*@null@*/struct sgrp *getsgnam (const char *name)
-{
-       struct sgrp *sgrp;
-
-       setsgent ();
-
-       while (NULL != (sgrp = getsgent())) {
-               if (streq(name, sgrp->sg_namp)) {
-                       break;
-               }
-       }
-       return sgrp;
-}
 #else
 extern int ISO_C_forbids_an_empty_translation_unit;
 #endif  // !SHADOWGRP
index ac58136108f0ec362109475eb2a5c2baf89c3b57..ed7f6a9f300b3735f38a9d6ab5137d63302db7e5 100644 (file)
@@ -20,7 +20,6 @@
 
 
 /*@observer@*//*@null@*/struct sgrp *getsgent (void);
-/*@observer@*//*@null@*/struct sgrp *getsgnam (const char *);
 
 #define        GSHADOW "/etc/gshadow"
 
diff --git a/lib/shadow/gshadow/getsgnam.c b/lib/shadow/gshadow/getsgnam.c
new file mode 100644 (file)
index 0000000..d78a575
--- /dev/null
@@ -0,0 +1,40 @@
+// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh
+// SPDX-FileCopyrightText: 1996-1998, Marek Michałkiewicz
+// SPDX-FileCopyrightText: 2005, Tomasz Kłoczko
+// SPDX-FileCopyrightText: 2008-2009, Nicolas François
+// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
+// SPDX-License-Identifier: BSD-3-Clause
+
+
+#include "config.h"
+
+#include "shadow/gshadow/getsgnam.h"
+
+#include <stddef.h>
+#include <string.h>
+
+#include "defines.h"
+#include "shadow/gshadow/setsgent.h"
+#include "shadow/gshadow/sgrp.h"
+
+
+/*
+ * getsgnam - get a shadow group entry by name
+ */
+#if defined(SHADOWGRP) && !__has_include(<gshadow.h>)
+// get shadow group entry-by-name
+struct sgrp *
+getsgnam(const char *name)
+{
+       struct sgrp *sgrp;
+
+       setsgent ();
+
+       while (NULL != (sgrp = getsgent ())) {
+               if (strcmp (name, sgrp->sg_namp) == 0) {
+                       break;
+               }
+       }
+       return sgrp;
+}
+#endif
diff --git a/lib/shadow/gshadow/getsgnam.h b/lib/shadow/gshadow/getsgnam.h
new file mode 100644 (file)
index 0000000..f4acc3c
--- /dev/null
@@ -0,0 +1,24 @@
+// SPDX-FileCopyrightText: 1988-1994, Julianne Frances Haugh
+// SPDX-FileCopyrightText: 1996-1997, Marek Michałkiewicz
+// SPDX-FileCopyrightText: 2003-2005, Tomasz Kłoczko
+// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
+// SPDX-License-Identifier: BSD-3-Clause
+
+
+#ifndef SHADOW_INCLUDE_LIB_SHADOW_GSHADOW_GETSGNAM_H_
+#define SHADOW_INCLUDE_LIB_SHADOW_GSHADOW_GETSGNAM_H_
+
+
+#include "config.h"
+
+#include "shadow/gshadow/sgrp.h"
+
+
+#if __has_include(<gshadow.h>)
+# include <gshadow.h>
+#else
+struct sgrp *getsgnam(const char *);
+#endif
+
+
+#endif  // include guard
index e154aba7a86f5ff6dba2e336d04b21ac9cdef370..51b1dcc060d3afb1d300071b434aae5ab6407f1c 100644 (file)
@@ -28,6 +28,7 @@
 #include "search/l/lsearch.h"
 #include "shadow/grp/agetgroups.h"
 #include "shadow/gshadow/endsgent.h"
+#include "shadow/gshadow/getsgnam.h"
 #include "shadow/gshadow/sgrp.h"
 #include "shadowlog.h"
 #include "string/sprintf/snprintf.h"