+2001-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * resolv/resolv.h (struct __res_state): Add nsinit field.
+ * resolv/res_send.c (res_nsend): Use it instead of nscount.
+ * resolv/res_init.c (__res_vinit): Initialize it.
+ (res_nclose): Clear it instead of nscount.
+
2001-01-04 Ulrich Drepper <drepper@redhat.com>
+ * malloc/mtrace.pl: Fix matching of addresses.
+ Patch by Aharon Robbins <arnold@skeeve.com>.
+
* Versions.def (ld): Add GLIBC_2.2.
* catgets/gencat.c: Copyright 2001.
statp->_flags = 0;
statp->qhook = NULL;
statp->rhook = NULL;
+ statp->_u._ext.nsinit = 0;
statp->_u._ext.nscount = 0;
#ifdef _LIBC
statp->_u._ext.nscount6 = 0;
statp->_u._ext.nssocks[ns] = -1;
}
}
- statp->_u._ext.nscount = 0;
+ statp->_u._ext.nsinit = 0;
}
* If the ns_addr_list in the resolver context has changed, then
* invalidate our cached copy and the associated timing data.
*/
- if (EXT(statp).nscount != 0) {
+ if (EXT(statp).nsinit) {
int needclose = 0;
if (EXT(statp).nscount != statp->nscount)
/*
* Maybe initialize our private copy of the ns_addr_list.
*/
- if (EXT(statp).nscount == 0) {
+ if (EXT(statp).nsinit == 0) {
#ifdef _LIBC
n = 0;
#endif
#endif
}
EXT(statp).nscount = statp->nscount;
+ EXT(statp).nsinit = 1;
#ifdef _LIBC
/* If holes left, free memory and set to NULL */
while (n < MAXNS) {
u_int16_t nstimes[MAXNS]; /* ms. */
int nssocks[MAXNS];
u_int16_t nscount6;
+ u_int16_t nsinit;
struct sockaddr_in6 *nsaddrs[MAXNS];
} _ext;
} _u;