Commit 55138753 authored by Yang Tse's avatar Yang Tse
Browse files

Test HAVE_GETNAMEINFO definition before using GETNAMEINFO_XXX definitions.

parent 43369b80
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ int curl_dogetaddrinfo(char *hostname, char *service,
                       struct addrinfo *hints,
                       struct addrinfo **result,
                       int line, const char *source);
#ifdef HAVE_GETNAMEINFO
int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
                       GETNAMEINFO_TYPE_ARG2 salen,
                       char *host, GETNAMEINFO_TYPE_ARG46 hostlen,
@@ -203,6 +204,7 @@ int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
                       GETNAMEINFO_TYPE_ARG7 flags,
                       int line, const char *source);
#endif
#endif

/* This is the callback function that is used when we build with asynch
   resolve, ipv4 */
+2 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ int curl_dogetaddrinfo(char *hostname, char *service,
  return res;
}

#ifdef HAVE_GETNAMEINFO
int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
                       GETNAMEINFO_TYPE_ARG2 salen,
                       char *host, GETNAMEINFO_TYPE_ARG46 hostlen,
@@ -160,6 +161,7 @@ int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
  }
  return res;
}
#endif

void curl_dofreeaddrinfo(struct addrinfo *freethis,
                         int line, const char *source)
+4 −0
Original line number Diff line number Diff line
@@ -96,10 +96,14 @@ CURL_EXTERN int curl_fclose(FILE *file, int line, const char *source);
#define getaddrinfo(host,serv,hint,res) \
  curl_dogetaddrinfo(host,serv,hint,res,__LINE__,__FILE__)
#endif

#ifdef HAVE_GETNAMEINFO
#undef getnameinfo
#define getnameinfo(sa,salen,host,hostlen,serv,servlen,flags) \
  curl_dogetnameinfo(sa,salen,host,hostlen,serv,servlen,flags, __LINE__, \
  __FILE__)
#endif

#undef freeaddrinfo
#define freeaddrinfo(data) \
  curl_dofreeaddrinfo(data,__LINE__,__FILE__)