From 8831788577cda2e19e27e6f1a793339abb9711fa Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 23 Jan 1999 13:47:20 +0000 Subject: Don't user __tolower directly for tolower implementation. Use inline function which tests for the range first. Make _tolower equivalent to old tolower macros. Likewise for toupper. --- ctype/ctype.h | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'ctype/ctype.h') diff --git a/ctype/ctype.h b/ctype/ctype.h index 5f732d2340..7b4ef36c53 100644 --- a/ctype/ctype.h +++ b/ctype/ctype.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,95,96,97,98,99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -150,12 +150,26 @@ __exctype (_tolower); # define isblank(c) __isctype((c), _ISblank) #endif -#define tolower(c) __tolower(c) -#define toupper(c) __toupper(c) +#if __GNUC__ >= 2 +extern inline int +tolower (int __c) +{ + return __c >= -128 && __c < 256 ? __tolower (__c) : __c; +} + +extern inline int +toupper (int __c) +{ + return __c >= -128 && __c < 256 ? __toupper (__c) : __c; +} +#endif #if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN # define isascii(c) __isascii(c) # define toascii(c) __toascii(c) + +# define _tolower(c) __tolower(c) +# define _toupper(c) __toupper(c) #endif #endif /* Not __NO_CTYPE. */ -- cgit 1.4.1