about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-09-01 18:27:42 +0000
committerUlrich Drepper <drepper@redhat.com>2002-09-01 18:27:42 +0000
commitfa1861d9fc31366afbcb640ecfb64d7ce646de8d (patch)
tree086a5147163db12fd78f9d5c42ef18820b676a0c
parent1ba0f0895ac55dae377bc5b05c86110e86194ccc (diff)
downloadglibc-fa1861d9fc31366afbcb640ecfb64d7ce646de8d.tar.gz
glibc-fa1861d9fc31366afbcb640ecfb64d7ce646de8d.tar.xz
glibc-fa1861d9fc31366afbcb640ecfb64d7ce646de8d.zip
Update.
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.
-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)