Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 25 Jul 1998 18:02:26 +0000 (18:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 25 Jul 1998 18:02:26 +0000 (18:02 +0000)
1998-07-25  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/i386/bits/byteswap.h (__bswap_64): Change __v to __w to
prevent conflict with __bswap_32.

ChangeLog
nscd/connections.c
nscd/nscd_getgr_r.c
sysdeps/i386/bits/byteswap.h

index 532f003..e2449b2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1998-07-25  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/i386/bits/byteswap.h (__bswap_64): Change __v to __w to
+       prevent conflict with __bswap_32.
+
 1998-07-24 21:29  Ulrich Drepper  <drepper@cygnus.com>
 
        * nscd/connections.c (pw_send_answer): Make one single writev call.
index e11132c..582a6cf 100644 (file)
@@ -502,6 +502,14 @@ gr_send_answer (int conn, struct group *grp)
     }
 
   /* Send all the data.  */
+  while (nblocks > UIO_MAXIOV)
+    {
+      if (writev (sock[conn], vec, UIO_MAXIOV) != total_len)
+       dbg_log (_("write incomplete on send group answer: %s"),
+                strerror (errno));
+      vec += UIO_MAXIOV;
+      nblocks -= UIO_MAXIOV;
+    }
   if (writev (sock[conn], vec, nblocks) != total_len)
     dbg_log (_("write incomplete on send group answer: %s"),
             strerror (errno));
index 9b3022c..85ebb0d 100644 (file)
@@ -232,7 +232,18 @@ __nscd_getgr_r (const char *key, request_type type, struct group *resultbuf,
              *p++ = '\0';
            }
 
-         if (__readv (sock, vec, gr_resp.gr_mem_len) != total_len)
+         while (i > UIO_MAXIOV)
+           {
+             if (__readv (sock, vec, UIO_MAXIOV) != total_len)
+               {
+                 __close (sock);
+                 return -1;
+               }
+             vec += UIO_MAXIOV;
+             i -= UIO_MAXIOV;
+           }
+
+         if (__readv (sock, vec, i) != total_len)
            {
              __close (sock);
              return -1;
index 1eef351..760e075 100644 (file)
@@ -83,9 +83,9 @@
 /* Swap bytes in 64 bit value.  */
 # define __bswap_64(x) \
      ({ union { unsigned long long int __ll;                                 \
-               unsigned long int __l[2]; } __v, __r;                         \
-        __v.__ll = (x);                                                              \
-       __r.__l[0] = __bswap_32 (__v.__l[1]);                                 \
-       __r.__l[1] = __bswap_32 (__v.__l[0]);                                 \
+               unsigned long int __l[2]; } __w, __r;                         \
+        __w.__ll = (x);                                                              \
+       __r.__l[0] = __bswap_32 (__w.__l[1]);                                 \
+       __r.__l[1] = __bswap_32 (__w.__l[0]);                                 \
        __r.__ll; })
 #endif