From: Alejandro Colomar Date: Tue, 9 Jan 2024 16:40:51 +0000 (+0100) Subject: lib/get_uid.c: get_uid(): Reimplement in terms of a2i() X-Git-Tag: 4.17.0-rc1~211 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6093c93e8190287b977c63595f35c09f7ee87a29;p=thirdparty%2Fshadow.git lib/get_uid.c: get_uid(): Reimplement in terms of a2i() Reviewed-by: "Serge E. Hallyn" Signed-off-by: Alejandro Colomar --- diff --git a/lib/get_uid.c b/lib/get_uid.c index 77fe9660a..1224a9a7b 100644 --- a/lib/get_uid.c +++ b/lib/get_uid.c @@ -1,34 +1,18 @@ -/* - * SPDX-FileCopyrightText: 2009 , Nicolas François - * - * SPDX-License-Identifier: BSD-3-Clause - */ +// SPDX-FileCopyrightText: 2009, Nicolas François +// SPDX-FileCopyrightText: 2023, Alejandro Colomar +// SPDX-License-Identifier: BSD-3-Clause #include #ident "$Id$" +#include "atoi/a2i.h" #include "prototypes.h" -#include "defines.h" int get_uid(const char *uidstr, uid_t *uid) { - char *end; - long long val; - - errno = 0; - val = strtoll(uidstr, &end, 10); - if ( ('\0' == *uidstr) - || ('\0' != *end) - || (0 != errno) - || (/*@+longintegral@*/val != (uid_t)val)/*@=longintegral@*/) { - return -1; - } - - *uid = val; - return 0; + return a2i(uid_t, uid, uidstr, NULL, 10, type_min(uid_t), type_max(uid_t)); } -