diff options
-rw-r--r-- | include/resolv.h | 5 | ||||
-rw-r--r-- | libc/inet/resolv.c | 13 |
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; } |