X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f030eeed1e1d31dd5568b07e5a3aa56e8514fb14..58ce18f2fdadecffb21e27555115af708325cf18:/include/wx/wxcrtbase.h?ds=inline diff --git a/include/wx/wxcrtbase.h b/include/wx/wxcrtbase.h index 81957c596a..d9ee66261a 100644 --- a/include/wx/wxcrtbase.h +++ b/include/wx/wxcrtbase.h @@ -643,10 +643,35 @@ WXDLLIMPEXP_BASE wchar_t * wxCRT_GetenvW(const wchar_t *name); ------------------------------------------------------------------------- */ #define wxCRT_StrftimeA strftime -#ifndef __WXPALMOS__ -/* FIXME-UTF8: when is this available? */ -#define wxCRT_StrftimeW wcsftime -#endif /* ! __WXPALMOS__ */ +#ifdef __SGI__ + /* + IRIX provides not one but two versions of wcsftime(): XPG4 one which + uses "const char*" for the third parameter and so can't be used and the + correct, XPG5, one. Unfortunately we can't just define _XOPEN_SOURCE + high enough to get XPG5 version as this undefines other symbols which + make other functions we use unavailable (see for gory + details). So just declare the XPG5 version ourselves, we're extremely + unlikely to ever be compiled on a system without it. But if we ever do, + a configure test would need to be added for it (and _MIPS_SYMBOL_PRESENT + should be used to check for its presence during run-time, i.e. it would + probably be simpler to just always use our own wxCRT_StrftimeW() below + if it does ever become a problem). + */ +#ifdef __cplusplus + extern "C" +#endif + size_t + _xpg5_wcsftime(wchar_t *, size_t, const wchar_t *, const struct tm * ); + #define wxCRT_StrftimeW _xpg5_wcsftime +#else + // Assume it's always available under non-Unix systems with the exception + // of Palm OS, this does seem to be the case for now. And under Unix we + // trust configure to detect it (except for SGI special case above). + #if defined(HAVE_WCSFTIME) || \ + !(defined(__UNIX__) || defined(__WXPALMOS__)) + #define wxCRT_StrftimeW wcsftime + #endif /* ! __WXPALMOS__ */ +#endif #ifndef wxCRT_StrftimeW WXDLLIMPEXP_BASE size_t wxCRT_StrftimeW(wchar_t *s, size_t max,