+inline int WXDLLEXPORT Stricmp(const char *psz1, const char *psz2)
+{
+#if defined(_MSC_VER)
+ return _stricmp(psz1, psz2);
+#elif defined(__BORLANDC__)
+ return stricmp(psz1, psz2);
+#elif defined(__UNIX__) || defined(__GNUWIN32__)
+ return strcasecmp(psz1, psz2);
+#else
+ // almost all compilers/libraries provide this function (unfortunately under
+ // different names), that's why we don't implement our own which will surely
+ // be more efficient than this code (uncomment to use):
+ /*
+ register char c1, c2;
+ do {
+ c1 = tolower(*psz1++);
+ c2 = tolower(*psz2++);
+ } while ( c1 && (c1 == c2) );
+
+ return c1 - c2;
+ */
+
+ #error "Please define string case-insensitive compare for your OS/compiler"
+#endif // OS/compiler
+}
+
+// ----------------------------------------------------------------------------
+// global data
+// ----------------------------------------------------------------------------
+
+// global pointer to empty string
+extern const char *g_szNul;
+
+// return an empty wxString
+class wxString; // not yet defined
+inline const wxString& wxGetEmptyString() { return *(wxString *)&g_szNul; }