void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size)

{

    int l;



    if (f->last_error) {

        return;

    }



    while (size > 0) {

        l = IO_BUF_SIZE - f->buf_index;

        if (l > size) {

            l = size;

        }

        memcpy(f->buf + f->buf_index, buf, l);

        f->bytes_xfer += l;

        if (f->ops->writev_buffer) {

            add_to_iovec(f, f->buf + f->buf_index, l);

        }

        f->buf_index += l;

        if (f->buf_index == IO_BUF_SIZE) {

            qemu_fflush(f);

        }

        if (qemu_file_get_error(f)) {

            break;

        }

        buf += l;

        size -= l;

    }

}

void qemu_put_buffer(QEMUFile *f, const uint8_t *buf, int size)

{

    int l;



    if (f->last_error) {

        return;

    }



    while (size > 0) {

        l = IO_BUF_SIZE - f->buf_index;

        if (l > size) {

            l = size;

        }

        memcpy(f->buf + f->buf_index, buf, l);

        f->bytes_xfer += l;

        if (f->ops->writev_buffer) {

            add_to_iovec(f, f->buf + f->buf_index, l);

        }

        f->buf_index += l;

        if (f->buf_index == IO_BUF_SIZE) {

            qemu_fflush(f);

        }

        if (qemu_file_get_error(f)) {

            break;

        }

        buf += l;

        size -= l;

    }

}

void FUNC_0(QEMUFile *VAR_0, const uint8_t *VAR_1, int VAR_2)

{

    int VAR_3;



    if (VAR_0->last_error) {

        return;

    }



    while (VAR_2 > 0) {

        VAR_3 = IO_BUF_SIZE - VAR_0->buf_index;

        if (VAR_3 > VAR_2) {

            VAR_3 = VAR_2;

        }

        memcpy(VAR_0->VAR_1 + VAR_0->buf_index, VAR_1, VAR_3);

        VAR_0->bytes_xfer += VAR_3;

        if (VAR_0->ops->writev_buffer) {

            add_to_iovec(VAR_0, VAR_0->VAR_1 + VAR_0->buf_index, VAR_3);

        }

        VAR_0->buf_index += VAR_3;

        if (VAR_0->buf_index == IO_BUF_SIZE) {

            qemu_fflush(VAR_0);

        }

        if (qemu_file_get_error(VAR_0)) {

            break;

        }

        VAR_1 += VAR_3;

        VAR_2 -= VAR_3;

    }

}

void FUNC_0(QEMUFile *VAR_0, const uint8_t *VAR_1, int VAR_2)
{ int VAR_3; if (VAR_0->last_error) { return; } while (VAR_2 > 0) { VAR_3 = IO_BUF_SIZE - VAR_0->buf_index; if (VAR_3 > VAR_2) { VAR_3 = VAR_2; } memcpy(VAR_0->VAR_1 + VAR_0->buf_index, VAR_1, VAR_3); VAR_0->bytes_xfer += VAR_3; if (VAR_0->ops->writev_buffer) { add_to_iovec(VAR_0, VAR_0->VAR_1 + VAR_0->buf_index, VAR_3); } VAR_0->buf_index += VAR_3; if (VAR_0->buf_index == IO_BUF_SIZE) { qemu_fflush(VAR_0); } if (qemu_file_get_error(VAR_0)) { break; } VAR_1 += VAR_3; VAR_2 -= VAR_3; } }