home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume27 / runes / part01 / include / machine / ansi.changes next >
Encoding:
Text File  |  1993-09-07  |  1009 b   |  19 lines

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