home *** CD-ROM | disk | FTP | other *** search
- < #define _WCHAR_T_ unsigned long /* wchar_t */
-
- > /*
- > * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
- > * ``unsigned long'' or ``long''. Two things are happening here. It is not
- > * unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
- > * it looks like 10646 will be a 31 bit standard. This means that if your
- > * ints cannot hold 32 bits, you will be in trouble. The reason an int was
- > * chosen over a long is that the is*() and to*() routines take ints (says
- > * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you
- > * lose a bit of ANSI conformance, but your programs will still work.
- > *
- > * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- > * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- > * defined for ctype.h.
- > */
- > #define _BSD_WCHAR_T_ int /* wchar_t */
- > #define _BSD_RUNE_T_ int /* rune_t */
-