A fwrite() wrapper that takes an Error argument. Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> --- cutils.c | 15 +++++++++++++++ qemu-common.h | 2 ++ 2 files changed, 17 insertions(+)
diff --git a/cutils.c b/cutils.c index c44ead9..646e08a 100644 --- a/cutils.c +++ b/cutils.c @@ -637,3 +637,18 @@ int qemu_fputc_err(int c, FILE *stream, Error **errp) return ret; } + +size_t qemu_fwrite_err(const void *ptr, size_t size, size_t nmemb, + FILE *stream, Error **errp) +{ + size_t ret; + + clearerr(stream); + ret = fwrite(ptr, size, nmemb, stream); + + if (ferror(stream)) { + set_write_err(errp, errno); + } + + return ret; +} diff --git a/qemu-common.h b/qemu-common.h index 895bc2b..39377ff 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -212,6 +212,8 @@ int qemu_sendv(int sockfd, struct iovec *iov, int len, int iov_offset); FILE *qemu_fopen_err(const char *path, const char *mode, Error **errp); int qemu_fprintf_err(Error **errp, FILE *stream, const char *format, ...); int qemu_fputc_err(int c, FILE *stream, Error **errp); +size_t qemu_fwrite_err(const void *ptr, size_t size, size_t nmemb, + FILE *stream, Error **errp); /* Error handling. */ -- 1.7.10.2.565.gbd578b5