about summary refs log tree commit diff
path: root/wctype/wctype.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-11-18 07:22:53 +0000
committerUlrich Drepper <drepper@redhat.com>1999-11-18 07:22:53 +0000
commit5491da0dfa50a969aca174742c64e114fe068af4 (patch)
tree06cf1a3e5b8b58cfbd76f575e6a2e0363c0ab61e /wctype/wctype.h
parent35946fb706d6333c5c11663fd0b46c1e9116ae0f (diff)
downloadglibc-5491da0dfa50a969aca174742c64e114fe068af4.tar.gz
glibc-5491da0dfa50a969aca174742c64e114fe068af4.tar.xz
glibc-5491da0dfa50a969aca174742c64e114fe068af4.zip
Update.
	* locale/programs/ld-ctype.c (ctype_output): Correct computation of
	nelems.  Correctly compute index for additional character classes.
	(ctype_read): Handle charclass and charconv definitions.  Also
	recognize arbitrary strings as mapping names.
	* locale/programs/ld-time.c (time_finish): Correctly skip over wide
	character era strings.
	* locale/lc-time.c (_nl_get_era_entry): Correctly skip era name
	and format for wide characters.
	* time/strftime.c: Correctly determine era information for wide
	wcsftime.
	* wctrans.c: Fix after removal of second endianess table.
	* wctype/wctype.h (_ISwbit): Correctly handle bits > 16.
	Patches by Shinya Hanataka <hanataka@abyss.rim.or.jp>.

	* wcsmbs/wcwidth.h (internal_wcwidth): Reject non-printable characters.
Diffstat (limited to 'wctype/wctype.h')
-rw-r--r--wctype/wctype.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/wctype/wctype.h b/wctype/wctype.h
index 68f3853c94..378095bcb4 100644
--- a/wctype/wctype.h
+++ b/wctype/wctype.h
@@ -70,7 +70,10 @@ typedef unsigned long int wctype_t;
 #   define _ISwbit(bit)	(1 << (bit))
 #  else /* __BYTE_ORDER == __LITTLE_ENDIAN */
 #   define _ISwbit(bit)	\
-	((bit) < 8 ? (int) (1UL << (bit) << 24) : (int) (1UL << ((bit) + 8)))
+	((bit) < 8 ? (int) (1UL << ((bit) + 24))			      \
+	 : ((bit) < 16 ? (int) (1UL << ((bit) + 8))			      \
+	    : ((bit) < 24 ? (int) (1UL << ((bit) - 8 ))			      \
+	       : (int) (1UL << ((bit) - 24 )))))
 #  endif
 
 enum