From: Alejandro Colomar Date: Tue, 9 Jan 2024 14:11:25 +0000 (+0100) Subject: lib/get_gid.c: get_gid(): Reimplement in terms of a2i() X-Git-Tag: 4.17.0-rc1~219 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74a2ed4537f4cb31204e6c586e631e6c0255ed9a;p=thirdparty%2Fshadow.git lib/get_gid.c: get_gid(): Reimplement in terms of a2i() Reviewed-by: "Serge E. Hallyn" Signed-off-by: Alejandro Colomar --- diff --git a/lib/get_gid.c b/lib/get_gid.c index 2420137bc..6975792ec 100644 --- a/lib/get_gid.c +++ b/lib/get_gid.c @@ -1,34 +1,21 @@ -/* - * SPDX-FileCopyrightText: 2009 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2009, Nicolas François +// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause #include #ident "$Id$" +#include + #include "prototypes.h" -#include "defines.h" +#include "atoi/a2i.h" +#include "typetraits.h" int get_gid(const char *gidstr, gid_t *gid) { - char *end; - long long val; - - errno = 0; - val = strtoll(gidstr, &end, 10); - if ( ('\0' == *gidstr) - || ('\0' != *end) - || (0 != errno) - || (/*@+longintegral@*/val != (gid_t)val)/*@=longintegral@*/) { - return -1; - } - - *gid = val; - return 0; + return a2i(gid_t, gid, gidstr, NULL, 10, type_min(gid_t), type_max(gid_t)); } -