lib: Use iov_buf in unix_msg
authorVolker Lendecke <vl@samba.org>
Sat, 6 Dec 2014 10:28:16 +0000 (11:28 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 9 Dec 2014 03:12:08 +0000 (04:12 +0100)
Now that iov_buf does not pull in talloc we can use it

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/lib/unix_msg/unix_msg.c
source3/lib/unix_msg/wscript_build

index 7ca506a85c613a5f80495d0e3363b2e9210886fe..78b29c2d071ce22b0d6a3f8e2f25d2693f7bd9ce 100644 (file)
@@ -23,6 +23,7 @@
 #include "system/network.h"
 #include "dlinklist.h"
 #include "pthreadpool/pthreadpool.h"
+#include "lib/iov_buf.h"
 #include <fcntl.h>
 
 /*
@@ -77,7 +78,6 @@ struct unix_dgram_ctx {
        char path[];
 };
 
-static ssize_t iov_buflen(const struct iovec *iov, int iovlen);
 static void unix_dgram_recv_handler(struct poll_watch *w, int fd, short events,
                                    void *private_data);
 
@@ -583,10 +583,7 @@ static int queue_msg(struct unix_dgram_send_queue *q,
        }
 #endif /*  HAVE_STRUCT_MSGHDR_MSG_CONTROL */
 
-       for (i=0; i<iovlen; i++) {
-               memcpy(data_buf, iov[i].iov_base, iov[i].iov_len);
-               data_buf += iov[i].iov_len;
-       }
+       iov_buf(iov, iovlen, data_buf, data_len);
 
        DLIST_ADD_END(q->msgs, msg, struct unix_dgram_msg);
        return 0;
@@ -1106,21 +1103,3 @@ int unix_msg_free(struct unix_msg_ctx *ctx)
        free(ctx);
        return 0;
 }
-
-static ssize_t iov_buflen(const struct iovec *iov, int iovlen)
-{
-       size_t buflen = 0;
-       int i;
-
-       for (i=0; i<iovlen; i++) {
-               size_t thislen = iov[i].iov_len;
-               size_t tmp = buflen + thislen;
-
-               if ((tmp < buflen) || (tmp < thislen)) {
-                       /* overflow */
-                       return -1;
-               }
-               buflen = tmp;
-       }
-       return buflen;
-}
index 200840d0265876c39ba4867a669200d67b4e9855..e638ea677d92f117bc94b98b5fed009da5da6fd5 100644 (file)
@@ -2,7 +2,7 @@
 
 bld.SAMBA3_SUBSYSTEM('UNIX_MSG',
                      source='unix_msg.c',
-                    deps='replace PTHREADPOOL')
+                    deps='replace PTHREADPOOL iov_buf')
 
 bld.SAMBA3_BINARY('unix_msg_test',
                   source='tests.c',