qemu-trivial
[Top][All Lists]
Advanced

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

Re: [PATCH v6 2/4] curses: Fixes compiler error that complain don't have


From: Daniel P . Berrangé
Subject: Re: [PATCH v6 2/4] curses: Fixes compiler error that complain don't have langinfo.h on msys2/mingw
Date: Fri, 2 Oct 2020 17:42:32 +0100
User-agent: Mutt/1.14.6 (2020-07-11)

On Sat, Oct 03, 2020 at 12:38:50AM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Fri, Oct 2, 2020 at 11:36 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
> >
> > On Fri, Oct 02, 2020 at 01:32:28AM +0800, Yonggang Luo wrote:
> > > msys2/mingw lacks the POSIX-required langinfo.h.
> > >
> > > gcc test.c -DNCURSES_WIDECHAR -I/mingw64/include/ncursesw -pipe
> -lncursesw -lgnurx -ltre -lintl -liconv
> > > test.c:4:10: fatal error: langinfo.h: No such file or directory
> > >     4 | #include <langinfo.h>
> > >       |          ^~~~~~~~~~~~
> > > compilation terminated.
> > >
> > > So we using g_get_codeset instead of nl_langinfo(CODESET)
> > >
> > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > > Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
> > > ---
> > >  ui/curses.c | 10 +++++-----
> > >  1 file changed, 5 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/ui/curses.c b/ui/curses.c
> > > index a59b23a9cf..12bc682cf9 100644
> > > --- a/ui/curses.c
> > > +++ b/ui/curses.c
> > > @@ -30,7 +30,6 @@
> > >  #endif
> > >  #include <locale.h>
> > >  #include <wchar.h>
> > > -#include <langinfo.h>
> > >  #include <iconv.h>
> > >
> > >  #include "qapi/error.h"
> > > @@ -526,6 +525,7 @@ static void font_setup(void)
> > >      iconv_t nativecharset_to_ucs2;
> > >      iconv_t font_conv;
> > >      int i;
> > > +    g_autofree gchar *local_codeset = g_get_codeset();
> > >
> > >      /*
> > >       * Control characters are normally non-printable, but VGA does have
> > > @@ -566,14 +566,14 @@ static void font_setup(void)
> > >        0x25bc
> > >      };
> > >
> > > -    ucs2_to_nativecharset = iconv_open(nl_langinfo(CODESET), "UCS-2");
> > > +    ucs2_to_nativecharset = iconv_open(local_codeset, "UCS-2");
> > >      if (ucs2_to_nativecharset == (iconv_t) -1) {
> > >          fprintf(stderr, "Could not convert font glyphs from UCS-2:
> '%s'\n",
> > >                          strerror(errno));
> > >          exit(1);
> > >      }
> > >
> > > -    nativecharset_to_ucs2 = iconv_open("UCS-2", nl_langinfo(CODESET));
> > > +    nativecharset_to_ucs2 = iconv_open("UCS-2", local_codeset);
> > >      if (nativecharset_to_ucs2 == (iconv_t) -1) {
> > >          iconv_close(ucs2_to_nativecharset);
> > >          fprintf(stderr, "Could not convert font glyphs to UCS-2:
> '%s'\n",
> > > @@ -581,7 +581,7 @@ static void font_setup(void)
> > >          exit(1);
> > >      }
> > >
> > > -    font_conv = iconv_open(nl_langinfo(CODESET), font_charset);
> > > +    font_conv = iconv_open(local_codeset, font_charset);
> > >      if (font_conv == (iconv_t) -1) {
> > >          iconv_close(ucs2_to_nativecharset);
> > >          iconv_close(nativecharset_to_ucs2);
> > > @@ -602,7 +602,7 @@ static void font_setup(void)
> > >      /* DEL */
> > >      convert_ucs(0x7F, 0x2302, ucs2_to_nativecharset);
> > >
> > > -    if (strcmp(nl_langinfo(CODESET), "UTF-8")) {
> > > +    if (strcmp(local_codeset, "UTF-8")) {
> >
> > If you're removing use of nl_langinfo / langinfo.h then you need
> > to also update configure, because it is checking for this function
> > and header file when validating curses library support.
> The change of configure are waiting for meson 0.56, so I didn't post that
> yet And this patch
> is a pre-request for msys2/mingw support and won't hurt other platform
> 
> We are converting everything to meson, so I am not willing to change
> configure this time

I don't see why the configure change has any dependancy on meson 0.56.
It just requires you to remove the mentioned header file and function
from the configure check. This patch needs to include that or it is
incomplete IMHO

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

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