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 \
}
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
/*@observer@*//*@null@*/struct sgrp *getsgent (void);
-/*@observer@*//*@null@*/struct sgrp *getsgnam (const char *);
#define GSHADOW "/etc/gshadow"
--- /dev/null
+// 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
--- /dev/null
+// 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
#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"