diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ctype/Makefile | 4 | ||||
-rw-r--r-- | ctype/Versions | 3 | ||||
-rw-r--r-- | ctype/ctype.h | 5 | ||||
-rw-r--r-- | ctype/isctype.c | 31 |
5 files changed, 49 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2002-09-01 Ulrich Drepper <drepper@redhat.com> + + * ctype/Makefile (routines): Add isctype. + * ctype/Versions (libc): Export isctype and __isctype for GLIBC_2.3. + * ctype/ctype.h: Add declaration of isctype. + * include/ctype.h: Declare __isctype. + * ctype/isctype.c: New file. + 2002-09-01 Roland McGrath <roland@redhat.com> * sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass diff --git a/ctype/Makefile b/ctype/Makefile index d14348feba..eaf4d32314 100644 --- a/ctype/Makefile +++ b/ctype/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 1992, 1993, 1997 Free Software Foundation, Inc. +# Copyright (C) 1991, 1992, 1993, 1997, 2002 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 @@ -22,7 +22,7 @@ subdir := ctype headers := ctype.h -routines := ctype ctype-extn ctype_l +routines := ctype ctype-extn ctype_l isctype aux := ctype-info tests := test_ctype diff --git a/ctype/Versions b/ctype/Versions index 68df144f6d..f77b5be5b3 100644 --- a/ctype/Versions +++ b/ctype/Versions @@ -15,4 +15,7 @@ libc { # global variables __ctype32_tolower; __ctype32_toupper; } + GLIBC_2.3 { + isctype; __isctype; + } } diff --git a/ctype/ctype.h b/ctype/ctype.h index 9469907b27..64f5e4b7a0 100644 --- a/ctype/ctype.h +++ b/ctype/ctype.h @@ -104,6 +104,11 @@ __exctype (isblank); __END_NAMESPACE_C99 #endif +#ifdef __USE_GNU +/* Test C for a set of character classes according to MASK. */ +extern int isctype (int __c, int __mask) __THROW; +#endif + #if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN /* Return nonzero iff C is in the ASCII set diff --git a/ctype/isctype.c b/ctype/isctype.c new file mode 100644 index 0000000000..a04da3eb56 --- /dev/null +++ b/ctype/isctype.c @@ -0,0 +1,31 @@ +/* Copyright (C) 2002 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <ctype.h> + +#undef __isctype + +int +__isctype (ch, mask) + int ch; + int mask; +{ + return (((uint16_t *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_CLASS) + 128) + [(int) (ch)] & mask); +} +weak_alias (__isctype, isctype) |