From: Samuel Thibault <samuel.thibault@gnu.org>
To: Max Reitz <mreitz@redhat.com>
Cc: qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] ui/curses: Fix build with -m32
Date: Mon, 27 May 2019 16:32:32 +0200 [thread overview]
Message-ID: <20190527143232.or3uubdw3edezba2@function> (raw)
In-Reply-To: <20190527142540.23255-1-mreitz@redhat.com>
Max Reitz, le lun. 27 mai 2019 16:25:40 +0200, a ecrit:
> wchar_t may resolve to be an unsigned long on 32-bit architectures.
> Using the %x conversion specifier will then give a compiler warning:
>
> ui/curses.c: In function ‘get_ucs’:
> ui/curses.c:492:49: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘wchar_t’ {aka ‘long int’} [-Werror=format=]
> 492 | fprintf(stderr, "Could not convert 0x%04x "
> | ~~~^
> | |
> | unsigned int
> | %04lx
> 493 | "from wchar_t to a multibyte character: %s\n",
> 494 | wch, strerror(errno));
> | ~~~
> | |
> | wchar_t {aka long int}
> ui/curses.c:504:49: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘wchar_t’ {aka ‘long int’} [-Werror=format=]
> 504 | fprintf(stderr, "Could not convert 0x%04x "
> | ~~~^
> | |
> | unsigned int
> | %04lx
> 505 | "from a multibyte character to UCS-2 : %s\n",
> 506 | wch, strerror(errno));
> | ~~~
> | |
> | wchar_t {aka long int}
>
> Fix this by casting the wchar_t value to an unsigned long and using %lx
> as the conversion specifier.
>
> Fixes: b7b664a4fe9a955338f2e11a0f7433b29c8cbad0
> Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
> ui/curses.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/ui/curses.c b/ui/curses.c
> index 1f3fcabb00..e9319eb8ae 100644
> --- a/ui/curses.c
> +++ b/ui/curses.c
> @@ -489,9 +489,9 @@ static uint16_t get_ucs(wchar_t wch, iconv_t conv)
> memset(&ps, 0, sizeof(ps));
> ret = wcrtomb(mbch, wch, &ps);
> if (ret == -1) {
> - fprintf(stderr, "Could not convert 0x%04x "
> + fprintf(stderr, "Could not convert 0x%04lx "
> "from wchar_t to a multibyte character: %s\n",
> - wch, strerror(errno));
> + (unsigned long)wch, strerror(errno));
> return 0xFFFD;
> }
>
> @@ -501,9 +501,9 @@ static uint16_t get_ucs(wchar_t wch, iconv_t conv)
> such = sizeof(uch);
>
> if (iconv(conv, &pmbch, &smbch, &puch, &such) == (size_t) -1) {
> - fprintf(stderr, "Could not convert 0x%04x "
> + fprintf(stderr, "Could not convert 0x%04lx "
> "from a multibyte character to UCS-2 : %s\n",
> - wch, strerror(errno));
> + (unsigned long)wch, strerror(errno));
> return 0xFFFD;
> }
>
> --
> 2.21.0
>
>
--
Samuel
/*
* [...] Note that 120 sec is defined in the protocol as the maximum
* possible RTT. I guess we'll have to use something other than TCP
* to talk to the University of Mars.
* PAWS allows us longer timeouts and large windows, so once implemented
* ftp to mars will work nicely.
*/
(from /usr/src/linux/net/inet/tcp.c, concerning RTT [retransmission timeout])
next prev parent reply other threads:[~2019-05-27 14:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-27 14:25 [Qemu-devel] [PATCH] ui/curses: Fix build with -m32 Max Reitz
2019-05-27 14:32 ` Samuel Thibault [this message]
2019-05-29 6:41 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190527143232.or3uubdw3edezba2@function \
--to=samuel.thibault@gnu.org \
--cc=kraxel@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).