]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/buffer.c
Merge pull request #12708 from donaldsharp/no_notification
[mirror_frr.git] / lib / buffer.c
index 42796faae82b41a2b5512bfc6a715eaa0a9efa09..e976fecc1f13a971d5d5e484dab2cce7604b89f1 100644 (file)
@@ -29,8 +29,8 @@
 
 #include <stddef.h>
 
-DEFINE_MTYPE_STATIC(LIB, BUFFER, "Buffer")
-DEFINE_MTYPE_STATIC(LIB, BUFFER_DATA, "Buffer data")
+DEFINE_MTYPE_STATIC(LIB, BUFFER, "Buffer");
+DEFINE_MTYPE_STATIC(LIB, BUFFER_DATA, "Buffer data");
 
 /* Buffer master. */
 struct buffer {
@@ -59,7 +59,7 @@ struct buffer_data {
 /* It should always be true that: 0 <= sp <= cp <= size */
 
 /* Default buffer size (used if none specified).  It is rounded up to the
-   next page boundery. */
+   next page boundary. */
 #define BUFFER_SIZE_DEFAULT            4096
 
 #define BUFFER_DATA_FREE(D) XFREE(MTYPE_BUFFER_DATA, (D))
@@ -357,7 +357,8 @@ buffer_status_t buffer_flush_window(struct buffer *b, int fd, int width,
 
                        iov_size =
                                ((iov_index > IOV_MAX) ? IOV_MAX : iov_index);
-                       if ((nbytes = writev(fd, c_iov, iov_size)) < 0) {
+                       nbytes = writev(fd, c_iov, iov_size);
+                       if (nbytes < 0) {
                                flog_err(EC_LIB_SOCKET,
                                         "%s: writev to fd %d failed: %s",
                                         __func__, fd, safe_strerror(errno));
@@ -370,7 +371,8 @@ buffer_status_t buffer_flush_window(struct buffer *b, int fd, int width,
                }
        }
 #else  /* IOV_MAX */
-       if ((nbytes = writev(fd, iov, iov_index)) < 0)
+       nbytes = writev(fd, iov, iov_index);
+       if (nbytes < 0)
                flog_err(EC_LIB_SOCKET, "%s: writev to fd %d failed: %s",
                         __func__, fd, safe_strerror(errno));
 #endif /* IOV_MAX */
@@ -472,13 +474,17 @@ buffer_status_t buffer_write(struct buffer *b, int fd, const void *p,
                /* Buffer is not empty, so do not attempt to write the new data.
                 */
                nbytes = 0;
-       else if ((nbytes = write(fd, p, size)) < 0) {
-               if (ERRNO_IO_RETRY(errno))
-                       nbytes = 0;
-               else {
-                       flog_err(EC_LIB_SOCKET, "%s: write error on fd %d: %s",
-                                __func__, fd, safe_strerror(errno));
-                       return BUFFER_ERROR;
+       else {
+               nbytes = write(fd, p, size);
+               if (nbytes < 0) {
+                       if (ERRNO_IO_RETRY(errno))
+                               nbytes = 0;
+                       else {
+                               flog_err(EC_LIB_SOCKET,
+                                        "%s: write error on fd %d: %s",
+                                        __func__, fd, safe_strerror(errno));
+                               return BUFFER_ERROR;
+                       }
                }
        }
        /* Add any remaining data to the buffer. */