diff --git a/modules/juce_core/text/juce_CharPointer_ASCII.h b/modules/juce_core/text/juce_CharPointer_ASCII.h index a966543b56..a8e8de8417 100644 --- a/modules/juce_core/text/juce_CharPointer_ASCII.h +++ b/modules/juce_core/text/juce_CharPointer_ASCII.h @@ -276,8 +276,10 @@ public: int compareIgnoreCase (const CharPointer_ASCII other) const { - #if JUCE_WINDOWS + #if JUCE_MSVC return stricmp (data, other.data); + #elif JUCE_MINGW + return CharacterFunctions::compareIgnoreCase (*this, other); #else return strcasecmp (data, other.data); #endif @@ -344,7 +346,7 @@ public: /** Parses this string as a 64-bit integer. */ int64 getIntValue64() const noexcept { - #if JUCE_LINUX || JUCE_ANDROID + #if JUCE_LINUX || JUCE_ANDROID || JUCE_MINGW return atoll (data); #elif JUCE_WINDOWS return _atoi64 (data); diff --git a/modules/juce_core/text/juce_CharPointer_UTF16.h b/modules/juce_core/text/juce_CharPointer_UTF16.h index d0eba5ceaa..50d18901b5 100644 --- a/modules/juce_core/text/juce_CharPointer_UTF16.h +++ b/modules/juce_core/text/juce_CharPointer_UTF16.h @@ -349,7 +349,7 @@ public: return CharacterFunctions::compareIgnoreCaseUpTo (*this, other, maxChars); } - #if JUCE_WINDOWS && ! DOXYGEN + #if JUCE_MSVC && ! DOXYGEN int compareIgnoreCase (const CharPointer_UTF16 other) const noexcept { return _wcsicmp (data, other.data); @@ -408,7 +408,7 @@ public: /** Parses this string as a 32-bit integer. */ int getIntValue32() const noexcept { - #if JUCE_WINDOWS + #if JUCE_MSVC return _wtoi (data); #else return CharacterFunctions::getIntValue (*this); @@ -418,7 +418,7 @@ public: /** Parses this string as a 64-bit integer. */ int64 getIntValue64() const noexcept { - #if JUCE_WINDOWS + #if JUCE_MSVC return _wtoi64 (data); #else return CharacterFunctions::getIntValue (*this); diff --git a/modules/juce_core/text/juce_CharPointer_UTF8.h b/modules/juce_core/text/juce_CharPointer_UTF8.h index 78d9a975ee..cf8e6d9be4 100644 --- a/modules/juce_core/text/juce_CharPointer_UTF8.h +++ b/modules/juce_core/text/juce_CharPointer_UTF8.h @@ -421,8 +421,10 @@ public: /** Compares this string with another one. */ int compareIgnoreCase (const CharPointer_UTF8 other) const noexcept { - #if JUCE_WINDOWS + #if JUCE_MSVC return stricmp (data, other.data); + #elif JUCE_MINGW + return CharacterFunctions::compareIgnoreCase (*this, other); #else return strcasecmp (data, other.data); #endif @@ -479,7 +481,7 @@ public: /** Parses this string as a 64-bit integer. */ int64 getIntValue64() const noexcept { - #if JUCE_LINUX || JUCE_ANDROID + #if JUCE_LINUX || JUCE_ANDROID || JUCE_MINGW return atoll (data); #elif JUCE_WINDOWS return _atoi64 (data); diff --git a/modules/juce_core/time/juce_Time.cpp b/modules/juce_core/time/juce_Time.cpp index fabcfde2ef..7ba8e5f830 100644 --- a/modules/juce_core/time/juce_Time.cpp +++ b/modules/juce_core/time/juce_Time.cpp @@ -361,7 +361,7 @@ String Time::getTimeZone() const noexcept { String zone[2]; - #if JUCE_WINDOWS + #if JUCE_MSVC _tzset(); #ifdef _INC_TIME_INL @@ -378,7 +378,11 @@ String Time::getTimeZone() const noexcept zone[1] = zonePtr[1]; #endif #else + #if JUCE_MINGW + #warning "Can't find a replacement for tzset on mingw - ideas welcome!" + #else tzset(); + #endif const char** const zonePtr = (const char**) tzname; zone[0] = zonePtr[0]; zone[1] = zonePtr[1];