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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.