]> git.ipfire.org Git - thirdparty/glibc.git/blame - nss/nss_files/files-grp.c
Update copyright dates with scripts/update-copyrights
[thirdparty/glibc.git] / nss / nss_files / files-grp.c
CommitLineData
5f0e6fc7 1/* Group file parser in nss_files module.
6d7e8eda 2 Copyright (C) 1996-2023 Free Software Foundation, Inc.
19361cb7
UD
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
19361cb7
UD
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 13 Lesser General Public License for more details.
19361cb7 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6 16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
28f540f4 18
28f540f4 19#include <grp.h>
680f1093
FW
20#include <nss.h>
21
5f0e6fc7
RM
22#define STRUCTURE group
23#define ENTNAME grent
96bda0ea 24#define DATABASE "group"
5f0e6fc7
RM
25struct grent_data {};
26
ffee1316
RM
27/* Our parser function is already defined in fgetgrent.c, so use that.
28 to parse lines from the database file. */
96bda0ea
RM
29#define EXTERN_PARSER
30#include "files-parse.c"
31#include GENERIC
5f0e6fc7 32
2666d441 33DB_LOOKUP (grnam, '.', 0, ("%s", name),
5f0e6fc7 34 {
6ed0492f
UD
35 if (name[0] != '-' && name[0] != '+'
36 && ! strcmp (name, result->gr_name))
5f0e6fc7
RM
37 break;
38 }, const char *name)
39
2666d441 40DB_LOOKUP (grgid, '=', 20, ("%lu", (unsigned long int) gid),
5f0e6fc7 41 {
6ed0492f
UD
42 if (result->gr_gid == gid && result->gr_name[0] != '+'
43 && result->gr_name[0] != '-')
5f0e6fc7
RM
44 break;
45 }, gid_t gid)