prevent the windows version to use global symbol names
authorDaniel Stenberg <daniel@haxx.se>
Wed, 4 Feb 2004 08:00:25 +0000 (08:00 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 4 Feb 2004 08:00:25 +0000 (08:00 +0000)
added prototypes for the strcasecmp() functions

nameser.h
windows_port.c

index f77d73e..95a5479 100644 (file)
--- a/nameser.h
+++ b/nameser.h
@@ -1,3 +1,6 @@
+#ifndef ARES_NAMESER_H
+#define ARES_NAMESER_H
+
 /* Windows-only header file provided by liren@vivisimo.com to make his Windows
    port build */
 
@@ -204,3 +207,15 @@ typedef enum __ns_rcode {
 #define T_MAILB         ns_t_mailb
 #define T_MAILA         ns_t_maila
 #define T_ANY           ns_t_any
+
+/* protos for the functions we provide in windows_port.c */
+int ares_strncasecmp(const char *s1, const char *s2, size_t n);
+int ares_strcasecmp(const char *s1, const char *s2);
+
+/* use this define magic to prevent us from adding symbol names to the library
+   that is a high-risk to collide with another libraries' attempts to do the
+   same */
+#define strncasecmp(a,b,c) ares_strncasecmp(a,b,c)
+#define strcasecmp(a,b) ares_strcasecmp(a,b)
+
+#endif /* ARES_NAMESER_H */
index fa4adc5..a168341 100644 (file)
@@ -6,7 +6,7 @@
 #include "nameser.h"
 
 int
-strncasecmp(const char *a, const char *b, size_t n)
+ares_strncasecmp(const char *a, const char *b, size_t n)
 {
     size_t i;
 
@@ -19,7 +19,7 @@ strncasecmp(const char *a, const char *b, size_t n)
 }
 
 int
-strcasecmp(const char *a, const char *b)
+ares_strcasecmp(const char *a, const char *b)
 {
     return strncasecmp(a, b, strlen(a)+1);
 }