From ba23f7118c09ca1807800882f1cf3661fa76dded Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 19 Nov 2002 05:41:03 +0000 Subject: Aidan Van Dyk noticed that _toupper and _tolower were misbehaving. This corrects them, per SuSv3. --- include/ctype.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/ctype.h') diff --git a/include/ctype.h b/include/ctype.h index 844689c3f..96ca2b61b 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -70,11 +70,11 @@ extern int isxupper(int c) __THROW; /* uClibc-specific. */ /* Now some non-ansi/iso c99 macros. */ -#define __isascii(c) (((unsigned int)(c)) <= 0x7f) +#define __isascii(c) (((c) & ~0x7f) == 0) #define __toascii(c) ((c) & 0x7f) +#define _tolower(c) (isupper(c) ? tolower(c) : (c)) +#define _toupper(c) (islower(c) ? toupper(c) : (c)) -#define _toupper(c) ((c) | 0x20) -#define _tolower(c) ((c) ^ 0x20) /* For compatibility with older versions of uClibc. Are these ever used? */ #define __isxlower(c) __C_isxlower(c) /* uClibc-specific. */ -- cgit v1.2.3