prevent the windows version to use global symbol names

added prototypes for the strcasecmp() functions
pull/1/head
Daniel Stenberg 21 years ago
parent 2cb9a82bac
commit c72a2f4af7
  1. 15
      nameser.h
  2. 4
      windows_port.c

@ -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 /* Windows-only header file provided by liren@vivisimo.com to make his Windows
port build */ port build */
@ -204,3 +207,15 @@ typedef enum __ns_rcode {
#define T_MAILB ns_t_mailb #define T_MAILB ns_t_mailb
#define T_MAILA ns_t_maila #define T_MAILA ns_t_maila
#define T_ANY ns_t_any #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 */

@ -6,7 +6,7 @@
#include "nameser.h" #include "nameser.h"
int 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; size_t i;
@ -19,7 +19,7 @@ strncasecmp(const char *a, const char *b, size_t n)
} }
int int
strcasecmp(const char *a, const char *b) ares_strcasecmp(const char *a, const char *b)
{ {
return strncasecmp(a, b, strlen(a)+1); return strncasecmp(a, b, strlen(a)+1);
} }

Loading…
Cancel
Save