Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 5 Jan 2001 02:36:27 +0000 (02:36 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 5 Jan 2001 02:36:27 +0000 (02:36 +0000)
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.

* malloc/mtrace.pl: Fix matching of addresses.
Patch by Aharon Robbins <arnold@skeeve.com>.

ChangeLog
resolv/res_init.c
resolv/res_send.c
resolv/resolv.h

index 122e1dc..10ca84c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
+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.
index fa60b77..1b14f94 100644 (file)
@@ -177,6 +177,7 @@ __res_vinit(res_state statp, int preinit) {
        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;
@@ -544,5 +545,5 @@ res_nclose(res_state statp) {
                        statp->_u._ext.nssocks[ns] = -1;
                }
        }
-       statp->_u._ext.nscount = 0;
+       statp->_u._ext.nsinit = 0;
 }
index cc9fd00..751a550 100644 (file)
@@ -394,7 +394,7 @@ res_nsend(res_state statp,
         * 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)
@@ -420,7 +420,7 @@ res_nsend(res_state statp,
        /*
         * 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
@@ -454,6 +454,7 @@ res_nsend(res_state statp,
 #endif
                }
                EXT(statp).nscount = statp->nscount;
+               EXT(statp).nsinit = 1;
 #ifdef _LIBC
                /* If holes left, free memory and set to NULL */
                while (n < MAXNS) {
index 6677add..bb8c782 100644 (file)
@@ -154,6 +154,7 @@ struct __res_state {
                        u_int16_t               nstimes[MAXNS]; /* ms. */
                        int                     nssocks[MAXNS];
                        u_int16_t               nscount6;
+                       u_int16_t               nsinit;
                        struct sockaddr_in6     *nsaddrs[MAXNS];
                } _ext;
        } _u;