aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ctype/Makefile4
-rw-r--r--ctype/Versions3
-rw-r--r--ctype/ctype.h5
-rw-r--r--ctype/isctype.c31
5 files changed, 49 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a167137d40..3c59bf7321 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)