#define wxCRT_StrxfrmW wcsxfrm
#endif /* __WXWINCE__ */
-/* Almost all compiler have strdup(), but VC++ for CE doesn't provide it.
- Another special case is gcc in strict ANSI mode: normally it doesn't provide
- strdup() but MinGW does provide it under MSVC-compatible name so test for it
- before checking __WX_STRICT_ANSI_GCC__. */
-#if (defined(__VISUALC__) && __VISUALC__ >= 1400) || \
- defined(__MINGW32__)
+/* Almost all compilers have strdup(), but VC++ and MinGW call it _strdup().
+ And it's not available in MinGW strict ANSI mode nor under Windows CE. */
+#if (defined(__VISUALC__) && __VISUALC__ >= 1400)
#define wxCRT_StrdupA _strdup
-#elif !(defined(__WXWINCE__) || defined(__WX_STRICT_ANSI_GCC__))
+#elif defined(__MINGW32__)
+ #ifndef __WX_STRICT_ANSI_GCC__
+ #define wxCRT_StrdupA _strdup
+ #endif
+#elif !defined(__WXWINCE__)
#define wxCRT_StrdupA strdup
#endif