Commit 82b27d1b authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

prevent the windows version to use global symbol names

added prototypes for the strcasecmp() functions
parent f7dee3b8
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
#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 */
+2 −2
Original line number Diff line number Diff line
@@ -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);
}