#endif
#if defined(__WIN32__) && defined(wxNEED_WX_CTYPE_H)
-#include <windef.h>
-#include <winbase.h>
-#include <winnls.h>
-#include <winnt.h>
+ #include <windef.h>
+ #include <winbase.h>
+ #include <winnls.h>
+ #include <winnt.h>
#endif
#if wxUSE_WCHAR_T
return mbstowcs(buf, psz, n);
}
- // NB: GNU libc5 wcstombs() is completely broken, don't use it (it doesn't
- // honor the 3rd parameter, thus it will happily crash here).
-#if wxUSE_WCSRTOMBS
- // don't know if it's really needed (or if we can pass NULL), but better safe
- // than quick
+ // assume that we have mbsrtowcs() too if we have wcsrtombs()
+#ifdef HAVE_WCSRTOMBS
mbstate_t mbstate;
return mbsrtowcs((wchar_t *) NULL, &psz, 0, &mbstate);
#else // !GNU libc
return wcstombs(buf, pwz, n);
}
- // NB: GNU libc5 wcstombs() is completely broken, don't use it (it doesn't
- // honor the 3rd parameter, thus it will happily crash here).
-#if wxUSE_WCSRTOMBS
- // don't know if it's really needed (or if we can pass NULL), but better safe
- // than quick
+#if HAVE_WCSRTOMBS
mbstate_t mbstate;
return wcsrtombs((char *) NULL, &pwz, 0, &mbstate);
#else // !GNU libc
return wcstombs((char *) NULL, pwz, 0);
#endif // GNU
}
-#endif
+#endif // wxUSE_WCHAR_T
bool WXDLLEXPORT wxOKlibc()
{