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