On Sun, Dec 20, 2009 at 1:39 AM, Kirill A. Shutemov <kir...@shutemov.name> wrote: > CC block.o > cc1: warnings being treated as errors > block.c: In function 'bdrv_open2': > block.c:400: error: ignoring return value of 'realpath', declared with > attribute warn_unused_result > > Signed-off-by: Kirill A. Shutemov <kir...@shutemov.name> > --- > block.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block.c b/block.c > index 3f3496e..30ae2b1 100644 > --- a/block.c > +++ b/block.c > @@ -396,8 +396,8 @@ int bdrv_open2(BlockDriverState *bs, const char > *filename, int flags, > if (is_protocol) > snprintf(backing_filename, sizeof(backing_filename), > "%s", filename); > - else > - realpath(filename, backing_filename); > + else if (!realpath(filename, backing_filename)) > + return -errno; > > bdrv_qcow2 = bdrv_find_format("qcow2"); > options = parse_option_parameters("", bdrv_qcow2->create_options, > NULL);
This patch appears to be correct considering: - return value of realpath - errno codes in the error case (as advertised by Linux man page and the functions referenced by OpenBSD man page: lstat(), readlink(2) and getcwd()) - return value of bdrv_open2().