Just forward Stricmp() in wx/string.h to wxCRT_StricmpA().
Don't redo the tests already done in wx/wxcrtbase.h in wx/string.h too, especially as they were not done correctly there (they didn't take into account the case of MinGW in strict ANSI mode). Just call wxCRT_StricmpA(). This also allows us to get rid of HAVE_STRCASECMP_IN_STRING[S]_H tests in configure. Closes #15349. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
e24c4e1238
commit
4c8acbdfd5
83
configure
vendored
83
configure
vendored
@ -19934,89 +19934,6 @@ $as_echo "$as_me: WARNING: Building DLLs requires OMF mode, enabled" >&2;}
|
||||
wxUSE_OMF=yes
|
||||
enable_omf=yes
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp() in string.h" >&5
|
||||
$as_echo_n "checking for strcasecmp() in string.h... " >&6; }
|
||||
if ${ac_cv_string_strcasecmp+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <string.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
strcasecmp("foo", "bar");
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_string_strcasecmp=yes
|
||||
else
|
||||
ac_cv_string_strcasecmp=no
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_string_strcasecmp" >&5
|
||||
$as_echo "$ac_cv_string_strcasecmp" >&6; }
|
||||
|
||||
if test x"$ac_cv_string_strcasecmp" = "xyes"; then
|
||||
$as_echo "#define HAVE_STRCASECMP_IN_STRING_H 1" >>confdefs.h
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp() in strings.h" >&5
|
||||
$as_echo_n "checking for strcasecmp() in strings.h... " >&6; }
|
||||
if ${ac_cv_strings_strcasecmp+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <strings.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
strcasecmp("foo", "bar");
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_strings_strcasecmp=yes
|
||||
else
|
||||
ac_cv_strings_strcasecmp=no
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_strings_strcasecmp" >&5
|
||||
$as_echo "$ac_cv_strings_strcasecmp" >&6; }
|
||||
|
||||
if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
|
||||
$as_echo "#define HAVE_STRCASECMP_IN_STRINGS_H 1" >>confdefs.h
|
||||
|
||||
else
|
||||
as_fn_error $? "No case-insensitive string comparison function found." "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
|
44
configure.in
44
configure.in
@ -1519,50 +1519,6 @@ case "${host}" in
|
||||
fi
|
||||
dnl (end of OS/2-only piece)
|
||||
;;
|
||||
*)
|
||||
dnl ---------------------------------------------------------------------
|
||||
dnl look for strcasecmp() in string.h and then strings.h if it's not
|
||||
dnl there. Don't do this on OS/2, where "stricmp" is the function to be
|
||||
dnl used.
|
||||
dnl ---------------------------------------------------------------------
|
||||
dnl (non-OS/2-only piece)
|
||||
|
||||
AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
|
||||
AC_TRY_LINK([
|
||||
#include <string.h>
|
||||
],
|
||||
[
|
||||
strcasecmp("foo", "bar");
|
||||
],
|
||||
ac_cv_string_strcasecmp=yes,
|
||||
ac_cv_string_strcasecmp=no
|
||||
)
|
||||
])
|
||||
|
||||
if test x"$ac_cv_string_strcasecmp" = "xyes"; then
|
||||
AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
|
||||
else
|
||||
AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
|
||||
AC_TRY_LINK([
|
||||
#include <strings.h>
|
||||
],
|
||||
[
|
||||
strcasecmp("foo", "bar");
|
||||
],
|
||||
ac_cv_strings_strcasecmp=yes,
|
||||
ac_cv_strings_strcasecmp=no
|
||||
)
|
||||
])
|
||||
|
||||
if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
|
||||
AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
|
||||
else
|
||||
AC_MSG_ERROR([No case-insensitive string comparison function found.])
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl (end of non-OS/2-only piece)
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl ------------------------------------------------------------------------
|
||||
|
@ -31,7 +31,6 @@
|
||||
#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
|
||||
#define HAVE_THREAD_PRIORITY_FUNCTIONS 1
|
||||
#define HAVE_SSIZE_T 1
|
||||
#define HAVE_STRCASECMP_IN_STRING_H 1
|
||||
#define HAVE_WPRINTF 1
|
||||
|
||||
#define SIZEOF_INT 4
|
||||
|
@ -117,7 +117,6 @@
|
||||
#define HAVE_LANGINFO_H 1
|
||||
#define HAVE_WCSRTOMBS 1
|
||||
#define HAVE_FPUTWS 1
|
||||
#define HAVE_STRCASECMP_IN_STRING_H 1
|
||||
#define HAVE_WPRINTF 1
|
||||
#define HAVE_VSWPRINTF 1
|
||||
#define HAVE_VSWSCANF 1
|
||||
|
@ -43,10 +43,6 @@
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRCASECMP_IN_STRINGS_H
|
||||
#include <strings.h> // for strcasecmp()
|
||||
#endif // HAVE_STRCASECMP_IN_STRINGS_H
|
||||
|
||||
#include "wx/wxcrtbase.h" // for wxChar, wxStrlen() etc.
|
||||
#include "wx/strvararg.h"
|
||||
#include "wx/buffer.h" // for wxCharBuffer
|
||||
@ -145,50 +141,7 @@ inline size_t Strlen(const char *psz)
|
||||
// portable strcasecmp/_stricmp
|
||||
wxDEPRECATED( inline int Stricmp(const char *psz1, const char *psz2) );
|
||||
inline int Stricmp(const char *psz1, const char *psz2)
|
||||
{
|
||||
#if defined(__VISUALC__) && defined(__WXWINCE__)
|
||||
register char c1, c2;
|
||||
do {
|
||||
c1 = tolower(*psz1++);
|
||||
c2 = tolower(*psz2++);
|
||||
} while ( c1 && (c1 == c2) );
|
||||
|
||||
return c1 - c2;
|
||||
#elif defined(__VISUALC__)
|
||||
return _stricmp(psz1, psz2);
|
||||
#elif defined(__SC__)
|
||||
return _stricmp(psz1, psz2);
|
||||
#elif defined(__BORLANDC__)
|
||||
return stricmp(psz1, psz2);
|
||||
#elif defined(__WATCOMC__)
|
||||
return stricmp(psz1, psz2);
|
||||
#elif defined(__DJGPP__)
|
||||
return stricmp(psz1, psz2);
|
||||
#elif defined(__EMX__)
|
||||
return stricmp(psz1, psz2);
|
||||
#elif defined(__WXPM__)
|
||||
return stricmp(psz1, psz2);
|
||||
#elif defined(HAVE_STRCASECMP_IN_STRING_H) || \
|
||||
defined(HAVE_STRCASECMP_IN_STRINGS_H) || \
|
||||
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
|
||||
}
|
||||
{ return wxCRT_StricmpA(psz1, psz2); }
|
||||
|
||||
#endif // WXWIN_COMPATIBILITY_2_8
|
||||
|
||||
|
@ -249,7 +249,7 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
|
||||
defined(__EMX__) || defined(__DJGPP__)
|
||||
#define wxCRT_StricmpA stricmp
|
||||
#define wxCRT_StrnicmpA strnicmp
|
||||
#elif defined(__SYMANTEC__) || defined(__VISUALC__)
|
||||
#elif defined(__SYMANTEC__) || (defined(__VISUALC__) && !defined(__WXWINCE__))
|
||||
#define wxCRT_StricmpA _stricmp
|
||||
#define wxCRT_StrnicmpA _strnicmp
|
||||
#elif defined(__UNIX__) || (defined(__GNUWIN32__) && !defined(__WX_STRICT_ANSI_GCC__))
|
||||
|
@ -1194,12 +1194,6 @@
|
||||
/* Define this if you have fputws() */
|
||||
#undef HAVE_FPUTWS
|
||||
|
||||
/* Define this if you have strcasecmp() function in <string.h> */
|
||||
#undef HAVE_STRCASECMP_IN_STRING_H
|
||||
|
||||
/* Define this if you have strcasecmp() function in <strings.h> */
|
||||
#undef HAVE_STRCASECMP_IN_STRINGS_H
|
||||
|
||||
/* Define this if you have wprintf() and related functions */
|
||||
#undef HAVE_WPRINTF
|
||||
|
||||
|
@ -1319,12 +1319,6 @@ typedef pid_t GPid;
|
||||
/* Define this if you have fputws() */
|
||||
#define HAVE_FPUTWS 1
|
||||
|
||||
/* Define this if you have strcasecmp() function in <string.h> */
|
||||
#define HAVE_STRCASECMP_IN_STRING_H 1
|
||||
|
||||
/* Define this if you have strcasecmp() function in <strings.h> */
|
||||
#undef HAVE_STRCASECMP_IN_STRINGS_H
|
||||
|
||||
/* Define this if you have wprintf() and related functions */
|
||||
#define HAVE_WPRINTF 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user