Revision 522584a5 cutils.c
b/cutils.c | ||
---|---|---|
23 | 23 |
*/ |
24 | 24 |
#include "qemu-common.h" |
25 | 25 |
#include "host-utils.h" |
26 |
#include <assert.h> |
|
26 | 27 |
|
27 | 28 |
void pstrcpy(char *buf, int buf_size, const char *str) |
28 | 29 |
{ |
... | ... | |
112 | 113 |
qiov->size = 0; |
113 | 114 |
} |
114 | 115 |
|
116 |
void qemu_iovec_init_external(QEMUIOVector *qiov, struct iovec *iov, int niov) |
|
117 |
{ |
|
118 |
int i; |
|
119 |
|
|
120 |
qiov->iov = iov; |
|
121 |
qiov->niov = niov; |
|
122 |
qiov->nalloc = -1; |
|
123 |
qiov->size = 0; |
|
124 |
for (i = 0; i < niov; i++) |
|
125 |
qiov->size += iov[i].iov_len; |
|
126 |
} |
|
127 |
|
|
115 | 128 |
void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len) |
116 | 129 |
{ |
130 |
assert(qiov->nalloc != -1); |
|
131 |
|
|
117 | 132 |
if (qiov->niov == qiov->nalloc) { |
118 | 133 |
qiov->nalloc = 2 * qiov->nalloc + 1; |
119 | 134 |
qiov->iov = qemu_realloc(qiov->iov, qiov->nalloc * sizeof(struct iovec)); |
... | ... | |
126 | 141 |
|
127 | 142 |
void qemu_iovec_destroy(QEMUIOVector *qiov) |
128 | 143 |
{ |
144 |
assert(qiov->nalloc != -1); |
|
145 |
|
|
129 | 146 |
qemu_free(qiov->iov); |
130 | 147 |
} |
131 | 148 |
|
132 | 149 |
void qemu_iovec_reset(QEMUIOVector *qiov) |
133 | 150 |
{ |
151 |
assert(qiov->nalloc != -1); |
|
152 |
|
|
134 | 153 |
qiov->niov = 0; |
135 | 154 |
qiov->size = 0; |
136 | 155 |
} |
Also available in: Unified diff