]> 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.
2b778ceb 2 Copyright (C) 1996-2021 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
22NSS_DECLARE_MODULE_FUNCTIONS (files)
28f540f4 23
5f0e6fc7
RM
24#define STRUCTURE group
25#define ENTNAME grent
96bda0ea 26#define DATABASE "group"
5f0e6fc7
RM
27struct grent_data {};
28
ffee1316
RM
29/* Our parser function is already defined in fgetgrent.c, so use that.
30 to parse lines from the database file. */
96bda0ea
RM
31#define EXTERN_PARSER
32#include "files-parse.c"
33#include GENERIC
5f0e6fc7 34
2666d441 35DB_LOOKUP (grnam, '.', 0, ("%s", name),
5f0e6fc7 36 {
6ed0492f
UD
37 if (name[0] != '-' && name[0] != '+'
38 && ! strcmp (name, result->gr_name))
5f0e6fc7
RM
39 break;
40 }, const char *name)
41
2666d441 42DB_LOOKUP (grgid, '=', 20, ("%lu", (unsigned long int) gid),
5f0e6fc7 43 {
6ed0492f
UD
44 if (result->gr_gid == gid && result->gr_name[0] != '+'
45 && result->gr_name[0] != '-')
5f0e6fc7
RM
46 break;
47 }, gid_t gid)