commit d88ce331ef0d25a1db279d3ba7c952fbb63eabe7
parent cb1a3674ebb3826d9e1e56146210bd79cb4a42f0
Author: Nick Mathewson <nickm@torproject.org>
Date: Mon, 2 Jul 2018 12:11:16 -0400
Merge branch 'bug26594'
Diffstat:
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
@@ -610,6 +610,8 @@ AC_CHECK_FUNCS(
sigaction \
socketpair \
statvfs \
+ strncasecmp \
+ strcasecmp \
strlcat \
strlcpy \
strnlen \
diff --git a/src/lib/string/compat_string.h b/src/lib/string/compat_string.h
@@ -13,9 +13,20 @@
/* ===== String compatibility */
#ifdef _WIN32
-/* Windows names string functions differently from most other platforms. */
-#define strncasecmp _strnicmp
-#define strcasecmp _stricmp
+/* Windows doesn't have str(n)casecmp, but mingw defines it: only define it
+ * ourselves if it's missing. */
+#ifndef HAVE_STRNCASECMP
+static inline int strncasecmp(const char *a, const char *b, size_t n);
+static inline int strncasecmp(const char *a, const char *b, size_t n) {
+ return strncmpi(a,b);
+}
+#endif
+#ifndef HAVE_STRCASECMP
+static inline int strcasecmp(const char *a, const char *b, size_t n);
+static inline int strcasecmp(const char *a, const char *b, size_t n) {
+ return strcmpi(a,b);
+}
+#endif
#endif
#if defined __APPLE__