[Asterisk-cvs] asterisk dns.c,1.6,1.7
markster at lists.digium.com
markster at lists.digium.com
Mon Apr 26 09:26:59 CDT 2004
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv29148
Modified Files:
dns.c
Log Message:
Unify all the res_ninit patches
Index: dns.c
===================================================================
RCS file: /usr/cvsroot/asterisk/dns.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- dns.c 15 Apr 2004 00:13:30 -0000 1.6
+++ dns.c 26 Apr 2004 13:32:57 -0000 1.7
@@ -151,24 +151,25 @@
return 0;
}
+#if defined(res_ninit)
+#define HAS_RES_NINIT
+#else
+#warning "Warning, res_ninit is missing... Could have reentrancy issues"
+#endif
+
int ast_search_dns(void *context,
const char *dname, int class, int type,
int (*callback)(void *context, u_char *answer, int len, u_char *fullanswer))
{
-#ifdef linux
+#ifdef HAS_RES_NINIT
struct __res_state dnsstate;
#endif
char answer[MAX_SIZE];
int res, ret = -1;
-#ifdef linux
- #ifndef __UCLIBC__
- res_ninit(&dnsstate);
- res = res_nsearch(&dnsstate, dname, class, type, answer, sizeof(answer));
- #else
- res_init();
- res = res_search(dname, class, type, answer, sizeof(answer));
- #endif
+#ifdef HAS_RES_NINIT
+ res_ninit(&dnsstate);
+ res = res_nsearch(&dnsstate, dname, class, type, answer, sizeof(answer));
#else
res_init();
res = res_search(dname, class, type, answer, sizeof(answer));
@@ -185,12 +186,8 @@
else
ret = 1;
}
-#if defined(linux)
- #ifndef __UCLIBC__
- res_nclose(&dnsstate);
- #else
- res_close();
- #endif
+#ifdef HAS_RES_NINIT
+ res_nclose(&dnsstate);
#else
#ifndef __APPLE__
res_close();
More information about the svn-commits
mailing list