summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-08-19 11:07:21 +0000
committerEric Andersen <andersen@codepoet.org>2002-08-19 11:07:21 +0000
commitbfefdc65657e145a0e05886ec571e0ee6af1a290 (patch)
treee072cf8ca55d809102a59836e70bf00782c4b706
parent9a87c828751eddd3f3fef0b74f3f9c2271eacf6c (diff)
Fixup struct _res handling so apps using struct _res can actually
compile ("worst standard ever!") -Erik
-rw-r--r--include/resolv.h5
-rw-r--r--libc/inet/resolv.c13
2 files changed, 4 insertions, 14 deletions
diff --git a/include/resolv.h b/include/resolv.h
index 79c3974f8..815b3a92a 100644
--- a/include/resolv.h
+++ b/include/resolv.h
@@ -216,12 +216,11 @@ typedef struct __res_state *res_state;
#define RES_PRF_INIT 0x00004000
/* 0x00008000 */
-
-#ifndef __BIND_NOSTATIC
-
/* Internal (static) resolver context. */
extern struct __res_state _res;
+#ifndef __BIND_NOSTATIC
+
#define fp_nquery __fp_nquery
#define fp_query __fp_query
#define hostalias __hostalias
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index 7dc5bc51e..62b091770 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -967,16 +967,11 @@ struct netent * getnetbyname(const char * name)
#ifdef L_res_init
-struct __res_state * __res;
+struct __res_state _res;
int res_init(void)
{
- struct __res_state *rp = __res;
- if(!__res) {
- rp = (struct __res_state *) malloc(sizeof(struct __res_state));
- memset(rp, 0, sizeof(struct __res_state));
- __res = rp;
- }
+ struct __res_state *rp = &(_res);
__open_nameservers();
rp->retrans = RES_TIMEOUT;
@@ -1021,10 +1016,6 @@ int res_init(void)
void res_close( void )
{
- if(__res) {
- free(__res);
- __res = NULL;
- }
return;
}