The Monday 26 May 2014 à 19:37:08 (+0200), Markus Armbruster wrote :
> Reproducer: "open -o a=b".  Broken in commit fd0fee3.
> Signed-off-by: Markus Armbruster <arm...@redhat.com>
> ---
>  qemu-io.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/qemu-io.c b/qemu-io.c
> index ffbad25..0daf413 100644
> --- a/qemu-io.c
> +++ b/qemu-io.c
> @@ -61,7 +61,8 @@ static int openfile(char *name, int flags, int growable, 
> QDict *opts)
>          if (bdrv_open(&qemuio_bs, name, NULL, opts, flags | BDRV_O_PROTOCOL,
>                        NULL, &local_err))
>          {
> -            fprintf(stderr, "%s: can't open device %s: %s\n", progname, name,
> +            fprintf(stderr, "%s: can't open%s%s: %s\n", progname,
> +                    name ? " device " : "", name ?: "",

name ?: "" seems to be a GNU C extension: see
http://en.wikipedia.org/wiki/%3F:#C

Don't we want this code to work on most compilers ?

Best regards

Benoît

>                      error_get_pretty(local_err));
>              error_free(local_err);
>              return 1;
> @@ -72,7 +73,8 @@ static int openfile(char *name, int flags, int growable, 
> QDict *opts)
>          if (bdrv_open(&qemuio_bs, name, NULL, opts, flags, NULL, &local_err)
>              < 0)
>          {
> -            fprintf(stderr, "%s: can't open device %s: %s\n", progname, name,
> +            fprintf(stderr, "%s: can't open%s%s: %s\n", progname,
> +                    name ? " device " : "", name ?: "",
>                      error_get_pretty(local_err));
>              error_free(local_err);
>              bdrv_unref(qemuio_bs);
> -- 
> 1.9.3
> 
> 

Reply via email to