qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Fix 32-bit compilation with gcc 5.5


From: Andrew Randrianasulu
Subject: Re: [Qemu-devel] [PATCH] Fix 32-bit compilation with gcc 5.5
Date: Fri, 29 Mar 2019 15:49:03 +0300
User-agent: KMail/1.9.10

В сообщении от Friday 29 March 2019 11:40:42 Alex Bennée написал(а):
> 
> Andrew Randrianasulu <address@hidden> writes:
> 
> > ---
> >  ui/curses.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/ui/curses.c b/ui/curses.c
> > index cc6d6da684..b25814f3fb 100644
> > --- a/ui/curses.c
> > +++ b/ui/curses.c
> > @@ -453,7 +453,7 @@ static uint16_t get_ucs(wchar_t wch, iconv_t conv)
> >      swch = sizeof(wch);
> >
> >      if (iconv(conv, &pwch, &swch, &pch, &sch) == (size_t) -1) {
> > -        fprintf(stderr, "Could not convert 0x%02x from WCHAR_T to UCS-2: 
> > %s\n",
> > +        fprintf(stderr, "Could not convert 0x%02lx from WCHAR_T to UCS-2: 
> > %s\n",
> >                          wch, strerror(errno));
> 
> This will break 64 bit compiles:
> 
>   ui/curses.c: In function ‘get_ucs’:
>   ui/curses.c:456:50: error: format ‘%lx’ expects argument of type ‘long 
> unsigned int’, but argument 3 has type ‘wchar_t’ {aka ‘int’} [-Werror=format=]
> 
> Annoyingly it seems wchar_t can be various sizes on various platforms.
> Maybe the simplest solution would be to upcast to a known size?
> 
>         fprintf(stderr, "Could not convert %" PRIx32 " from WCHAR_T to UCS-2: 
> %s\n",
>                 (uint32_t) wch, strerror(errno));
> 
> >          return 0xFFFD;
> >      }
> 


This worked for me with 32-bit gcc. Thanks!

> 
> --
> Alex Bennée
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]