Print this page
2964 need POSIX 2008 locale object support (more C++ fixes)


  64 #define _ValidCategory(c) \
  65         (((int)(c) >= LC_CTYPE) && ((int)(c) <= _LastCategory) || \
  66         ((int)c == LC_ALL))
  67 
  68 
  69 #if defined(_XPG7) || !defined(_STRICT_SYMBOLS)
  70 
  71 /*
  72  * These were added in POSIX 2008 as part of the newlocale() specification.
  73  */
  74 #define LC_CTYPE_MASK           (1 << LC_CTYPE)
  75 #define LC_NUMERIC_MASK         (1 << LC_NUMERIC)
  76 #define LC_TIME_MASK            (1 << LC_TIME)
  77 #define LC_COLLATE_MASK         (1 << LC_COLLATE)
  78 #define LC_MONETARY_MASK        (1 << LC_MONETARY)
  79 #define LC_MESSAGES_MASK        (1 << LC_MESSAGES)
  80 #define LC_ALL_MASK             (0x3f)
  81 
  82 #ifndef _LOCALE_T
  83 #define _LOCALE_T
  84 typedef struct locale *locale_t;
  85 #endif
  86 
  87 #if     defined(__STDC__)
  88 extern locale_t duplocale(locale_t);
  89 extern void     freelocale(locale_t);
  90 extern locale_t newlocale(int, const char *, locale_t);
  91 extern locale_t uselocale(locale_t);
  92 #else   /* __STDC__ */
  93 extern locale_t duplocale();
  94 extern void     freelocale();
  95 extern locale_t newlocale();
  96 extern locale_t uselocale();
  97 #endif  /* __STDC__ */
  98 
  99 #define LC_GLOBAL_LOCALE        (__global_locale())
 100 extern locale_t                 __global_locale(void);
 101 
 102 #endif  /* defined(_XPG7) || !defined(_STRICT_SYMBOLS) */
 103 
 104 #ifdef  __cplusplus


  64 #define _ValidCategory(c) \
  65         (((int)(c) >= LC_CTYPE) && ((int)(c) <= _LastCategory) || \
  66         ((int)c == LC_ALL))
  67 
  68 
  69 #if defined(_XPG7) || !defined(_STRICT_SYMBOLS)
  70 
  71 /*
  72  * These were added in POSIX 2008 as part of the newlocale() specification.
  73  */
  74 #define LC_CTYPE_MASK           (1 << LC_CTYPE)
  75 #define LC_NUMERIC_MASK         (1 << LC_NUMERIC)
  76 #define LC_TIME_MASK            (1 << LC_TIME)
  77 #define LC_COLLATE_MASK         (1 << LC_COLLATE)
  78 #define LC_MONETARY_MASK        (1 << LC_MONETARY)
  79 #define LC_MESSAGES_MASK        (1 << LC_MESSAGES)
  80 #define LC_ALL_MASK             (0x3f)
  81 
  82 #ifndef _LOCALE_T
  83 #define _LOCALE_T
  84 typedef struct _locale *locale_t;
  85 #endif
  86 
  87 #if     defined(__STDC__)
  88 extern locale_t duplocale(locale_t);
  89 extern void     freelocale(locale_t);
  90 extern locale_t newlocale(int, const char *, locale_t);
  91 extern locale_t uselocale(locale_t);
  92 #else   /* __STDC__ */
  93 extern locale_t duplocale();
  94 extern void     freelocale();
  95 extern locale_t newlocale();
  96 extern locale_t uselocale();
  97 #endif  /* __STDC__ */
  98 
  99 #define LC_GLOBAL_LOCALE        (__global_locale())
 100 extern locale_t                 __global_locale(void);
 101 
 102 #endif  /* defined(_XPG7) || !defined(_STRICT_SYMBOLS) */
 103 
 104 #ifdef  __cplusplus