On Sun, Dec 20, 2009 at 1:39 AM, Kirill A. Shutemov <kir...@shutemov.name> wrote: > CC savevm.o > cc1: warnings being treated as errors > savevm.c: In function 'file_put_buffer': > savevm.c:342: error: ignoring return value of 'fwrite', declared with > attribute warn_unused_result > make: *** [savevm.o] Error 1 > > Signed-off-by: Kirill A. Shutemov <kir...@shutemov.name> > --- > savevm.c | 3 +-- > 1 files changed, 1 insertions(+), 2 deletions(-) > > diff --git a/savevm.c b/savevm.c > index aefe052..829f735 100644 > --- a/savevm.c > +++ b/savevm.c > @@ -339,8 +339,7 @@ static int file_put_buffer(void *opaque, const uint8_t > *buf, > { > QEMUFileStdio *s = opaque; > fseek(s->stdio_file, pos, SEEK_SET); > - fwrite(buf, 1, size, s->stdio_file); > - return size; > + return fwrite(buf, 1, size, s->stdio_file);
Looks OK. The callers do not handle partial writes, but that's because the return value is not used correctly. They should be fixed some time. We are truncating size_t to int, but that is OK given that the input size is also int. The interfaces should be cleaned up to use size_t/ssize_t later.