]> git.ipfire.org Git - thirdparty/shadow.git/blob - lib/get_gid.c
src/useradd.c: set_defaults(): Fix FILE* leak
[thirdparty/shadow.git] / lib / get_gid.c
1 /*
2 * SPDX-FileCopyrightText: 2009 , Nicolas François
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7
8 #include <config.h>
9
10 #ident "$Id$"
11
12 #include "prototypes.h"
13 #include "defines.h"
14
15
16 int
17 get_gid(const char *gidstr, gid_t *gid)
18 {
19 char *end;
20 long long val;
21
22 errno = 0;
23 val = strtoll(gidstr, &end, 10);
24 if ( ('\0' == *gidstr)
25 || ('\0' != *end)
26 || (0 != errno)
27 || (/*@+longintegral@*/val != (gid_t)val)/*@=longintegral@*/) {
28 return -1;
29 }
30
31 *gid = val;
32 return 0;
33 }
34