summary refs log tree commit diff stats
path: root/cutils.c
diff options
context:
space:
mode:
authorMichael Tokarev <mjt@tls.msk.ru>2012-06-07 20:21:06 +0400
committerMichael Tokarev <mjt@tls.msk.ru>2012-06-11 23:12:11 +0400
commitd5e6b1619c516fa1e2ee4d8d20f08fcda4fb67a0 (patch)
tree20ea66644af8533a7ce32f51875d50a800e9b7d4 /cutils.c
parent1b093c480a32051cc856b6ab2395d8cbc3ae99da (diff)
downloadfocaccia-qemu-d5e6b1619c516fa1e2ee4d8d20f08fcda4fb67a0.tar.gz
focaccia-qemu-d5e6b1619c516fa1e2ee4d8d20f08fcda4fb67a0.zip
change qemu_iovec_to_buf() to match other to,from_buf functions
It now allows specifying offset within qiov to start from and
amount of bytes to copy.  Actual implementation is just a call
to iov_to_buf().

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'cutils.c')
-rw-r--r--cutils.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/cutils.c b/cutils.c
index 1aeac153ad..352bc521b1 100644
--- a/cutils.c
+++ b/cutils.c
@@ -220,15 +220,10 @@ void qemu_iovec_reset(QEMUIOVector *qiov)
     qiov->size = 0;
 }
 
-void qemu_iovec_to_buffer(QEMUIOVector *qiov, void *buf)
+size_t qemu_iovec_to_buf(QEMUIOVector *qiov, size_t offset,
+                         void *buf, size_t bytes)
 {
-    uint8_t *p = (uint8_t *)buf;
-    int i;
-
-    for (i = 0; i < qiov->niov; ++i) {
-        memcpy(p, qiov->iov[i].iov_base, qiov->iov[i].iov_len);
-        p += qiov->iov[i].iov_len;
-    }
+    return iov_to_buf(qiov->iov, qiov->niov, offset, buf, bytes);
 }
 
 size_t qemu_iovec_from_buf(QEMUIOVector *qiov, size_t offset,