From: Alejandro Colomar Date: Tue, 28 Dec 2021 18:38:58 +0000 (+0100) Subject: Remove definition of ISDIGIT_LOCALE(c) X-Git-Tag: 4.12~94^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44126d85ee9a33d10e24da1a8b901f8145918d95;p=thirdparty%2Fshadow.git Remove definition of ISDIGIT_LOCALE(c) It wasn't being used at all. Let's remove it. Use isdigit(3) directly in comments that referenced it. Also, in those comments, remove an outdated reference to the fact that ISDIGIT_LOCALE(c) might evaluate its argument more than once, which could be true a few commits ago, until IN_CTYPE_DEFINITION(c) was removed. Previously, the definition for ISDIGIT_LOCALE(c) was: #if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) # define IN_CTYPE_DOMAIN(c) 1 #else # define IN_CTYPE_DOMAIN(c) isascii(c) #endif #define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c)) Which could evaluate 'c' twice on pre-C89 systems (which I hope don't exist nowadays). Signed-off-by: Alejandro Colomar --- diff --git a/lib/defines.h b/lib/defines.h index 6b1bb3cb0..316cce5a0 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -22,8 +22,6 @@ typedef unsigned char _Bool; # define __bool_true_false_are_defined 1 #endif -#define ISDIGIT_LOCALE(c) isdigit (c) - /* Take care of NLS matters. */ #ifdef S_SPLINT_S extern char *setlocale(int categories, const char *locale); diff --git a/libmisc/getdate.y b/libmisc/getdate.y index 4d282edc8..82f1369cb 100644 --- a/libmisc/getdate.y +++ b/libmisc/getdate.y @@ -31,14 +31,11 @@ #include #include -#define ISDIGIT_LOCALE(c) isdigit (c) - -/* ISDIGIT differs from ISDIGIT_LOCALE, as follows: +/* ISDIGIT differs from isdigit(3), as follows: - Its arg may be any int or unsigned int; it need not be an unsigned char. - - It's guaranteed to evaluate its argument exactly once. - It's typically faster. Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that - only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless + only '0' through '9' are digits. Prefer ISDIGIT to isdigit(3) unless it's important to use the locale's definition of `digit' even when the host does not conform to Posix. */ #define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)