]> git.proxmox.com Git - mirror_frr.git/commitdiff
2004-11-07 Paul Jakma <paul@dishone.st>
authorpaul <paul>
Mon, 8 Nov 2004 15:43:21 +0000 (15:43 +0000)
committerpaul <paul>
Mon, 8 Nov 2004 15:43:21 +0000 (15:43 +0000)
* buffer.c: Add missing include of log.h.
  (buffer_flush_available) written is compared against
  mostly against unsigned types, only for the writev do we need
          signed compare, so declare it as size_t and cast it to ssize_t
          just for the error compare when we've called writev.
* buffer.h: Add comment that buffer data sizes really should be
          size_t.

lib/ChangeLog
lib/buffer.c
lib/buffer.h

index e256bbe4bf4190fa494e3d2ceb04cb74930fa3cf..2acd002312078513bc54e355121226a9539ceffa 100644 (file)
@@ -1,6 +1,16 @@
 2004-11-07 Paul Jakma <paul@dishone.st>
 
-       * lib/version.h.in: add autoconf configure_input output var
+       * buffer.c: Add missing include of log.h.
+         (buffer_flush_available) written is compared against
+         mostly against unsigned types, only for the writev do we need
+          signed compare, so declare it as size_t and cast it to ssize_t
+          just for the error compare when we've called writev.
+       * buffer.h: Add comment that buffer data sizes really should be 
+          size_t.
+
+2004-11-07 Paul Jakma <paul@dishone.st>
+
+       * version.h.in: add autoconf configure_input output var
 
 2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
index 9d931a9b84f5387d19c5c01df7835f0d565c0761..3701e121e4a4cb9bd7c24118a6be9c634d10b44b 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "memory.h"
 #include "buffer.h"
+#include "log.h"
 #include <stddef.h>
 
 /* Make buffer data. */
@@ -580,9 +581,9 @@ in one shot. */
 
   struct buffer_data *d;
   struct buffer_data *next;
-  ssize_t written;
+  size_t written;
   struct iovec iov[MAX_CHUNKS];
-  int iovcnt = 0;
+  size_t iovcnt = 0;
   size_t nbyte = 0;
 
   for (d = b->head; d && (iovcnt < MAX_CHUNKS) && (nbyte < MAX_FLUSH);
@@ -592,7 +593,8 @@ in one shot. */
       nbyte += (iov[iovcnt].iov_len = d->cp-d->sp);
     }
 
-  if ((written = writev(fd,iov,iovcnt)) < 0)
+  /* only place where written should be sign compared */
+  if ((ssize_t)(written = writev(fd,iov,iovcnt)) < 0)
     {
       if ((errno != EAGAIN) && (errno != EINTR))
         zlog_warn("buffer_flush_available write error on fd %d: %s",
index 2acd571fdebafdcb6219076a80c1c20582b73744..65b8a8ca29675c545e35e5df74911d03466f9883 100644 (file)
@@ -29,7 +29,8 @@ struct buffer
   /* Data list. */
   struct buffer_data *head;
   struct buffer_data *tail;
-
+  
+  /* XXX: These unsigned longs should be size_t's */
   /* Current allocated data. */
   unsigned long alloc;