1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00

* resolv/res_init.c (__res_iclose): New function. Broken out of

res_nclose.  Take addition parameter which determines whether
	addresses should be freed.
	(res_nclose): Call __res_iclose.
	(res_thread_freeres): Likewise.
	* resolv/res_data.c (res_close): Call __res_iclose.
	* resolv/res_libc.c (res_init): No need to separately free the
	addresses.
	(__res_maybe_init): Likewise.
	* resolv/res_send.c: Use __res_iclose instead of res_nclose.
	* resolv/Versions [GLIBC_PRIVATE]: Add __res_iclose.
	* include/resolv.h: Declare __res_iclose.
	Add libc_hidden_proto for __res_iclose.
	* hesiod/hesiod.c (__hesiod_res_set): No need to free name server
	addresses here again.
This commit is contained in:
Ulrich Drepper
2005-11-01 00:08:54 +00:00
parent 6ff8f07aba
commit cb07f6f67d
8 changed files with 65 additions and 58 deletions

View File

@@ -487,12 +487,6 @@ __hesiod_res_set(void *context, struct __res_state *res,
if (ctx->res && ctx->free_res) {
res_nclose(ctx->res);
if ((ctx->res->options & RES_INIT) && ctx->res->nscount > 0) {
for (int ns = 0; ns < MAXNS; ns++) {
free (ctx->res->_u._ext.nsaddrs[ns]);
ctx->res->_u._ext.nsaddrs[ns] = NULL;
}
}
(*ctx->free_res)(ctx->res);
}