#ifndef REGTEST
#include <_PDCLIB_locale.h>
+#ifdef _PDCLIB_LOCALE_METHOD
locale_t uselocale( locale_t newloc )
{
locale_t oldloc = _PDCLIB_threadlocale();
return oldloc;
}
+#endif
#endif
extern struct _PDCLIB_locale _PDCLIB_global_locale;
#define LC_GLOBAL_LOCALE (&_PDCLIB_global_locale)
+#ifdef _PDCLIB_LOCALE_METHOD
+
locale_t newlocale(int category_mask, const char *locale, locale_t base);
/* Set the thread locale to newlocale
/* Frees the passed locale object */
void freelocale(locale_t loc);
+#endif
#endif
#define _PDCLIB_LOCALE_METHOD_THREAD_LOCAL 'T'
#if !defined(_PDCLIB_LOCALE_METHOD)
- #error _PDCLIB_LOCALE_METHOD undefined: don't know where I'm storing the thread locale
+ /* If undefined, no POSIX per thread locales */
+ static inline locale_t _PDCLIB_threadlocale( void )
+ {
+ return &_PDCLIB_global_locale;
+ }
#elif _PDCLIB_LOCALE_METHOD == _PDCLIB_LOCALE_METHOD_TSS
extern tss_t _PDCLIB_locale_tss;
static inline locale_t _PDCLIB_threadlocale( void )