Commit e6d27baf authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Rely on e_os.h to appropriately define str[n]casecmp in non-POSIX

environments.
parent e7e11507
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -60,12 +60,9 @@
#include <e_os.h>
#include "o_str.h"

#undef strncasecmp
#undef strcasecmp

int OPENSSL_strncasecmp(const char *str1, const char *str2, size_t n)
	{
#if defined(OPENSSL_SYS_VMS)
#if defined(OPENSSL_IMPLEMENTS_strncasecmp)
	while (*str1 && *str2 && n)
		{
		int res = toupper(*str1) - toupper(*str2);
@@ -81,18 +78,17 @@ int OPENSSL_strncasecmp(const char *str1, const char *str2, size_t n)
	if (*str2)
		return -1;
	return 0;
#elif defined(OPENSSL_SYS_WINDOWS)
	return _strnicmp(str1, str2, n);
#else
	/* Recursion hazard warning! Whenever strncasecmp is #defined as
	 * OPENSSL_strncasecmp, OPENSSL_IMPLEMENTS_strncasecmp must be
	 * defined as well. */
	return strncasecmp(str1, str2, n);
#endif
	}
int OPENSSL_strcasecmp(const char *str1, const char *str2)
	{
#if defined(OPENSSL_SYS_VMS)
#if defined(OPENSSL_IMPLEMENTS_strncasecmp)
	return OPENSSL_strncasecmp(str1, str2, (size_t)-1);
#elif defined(OPENSSL_SYS_WINDOWS)
	return _stricmp(str1, str2);
#else
	return strcasecmp(str1, str2);
#endif
+1 −0
Original line number Diff line number Diff line
@@ -556,6 +556,7 @@ extern char *sys_errlist[]; extern int sys_nerr;
#  include "o_str.h"
#  define strcasecmp OPENSSL_strcasecmp
#  define strncasecmp OPENSSL_strncasecmp
#  define OPENSSL_IMPLEMENTS_strncasecmp
#elif defined(OPENSSL_SYS_OS2) && defined(__EMX__)
#  define strcasecmp stricmp
#  define strncasecmp strnicmp