Hi Jim, > I prefer to avoid casts, so please use this test instead: > > if (!c_locale)
If you prefer this way. I committed it like you say. > > + c_locale = newlocale (LC_ALL_MASK, "C", (locale_t)0); > > I suppose NULL isn't necessarily defined POSIX explicitly mentions (locale_t)0. I suppose it's because it's not specified whether locale_t is an integral type or a pointer type. For this reason, writing NULL could lead to gcc warnings (if locale_t is an integral type). Bruno