Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Corinna Vinschen <vinschen@redhat.com>
To: gdb-patches@sourceware.org
Subject: Re: [RFA] defs.h: Define GDB_DEFAULT_TARGET_[WIDE_]CHARSET for    Cygwin and MingW builds
Date: Sun, 28 Feb 2010 18:11:00 -0000	[thread overview]
Message-ID: <20100228181105.GO5683@calimero.vinschen.de> (raw)
In-Reply-To: <20100228175239.GM5683@calimero.vinschen.de>

On Feb 28 18:52, Corinna Vinschen wrote:
> On Feb 28 19:45, Eli Zaretskii wrote:
> > > Date: Sun, 28 Feb 2010 18:05:23 +0100
> > > From: Corinna Vinschen <vinschen@redhat.com>
> > > 
> > > > > +#define GDB_DEFAULT_TARGET_CHARSET "CP1252"
> > > > > +#endif
> > > > 
> > > > Why cp1252? why not detect the ANSI codepage at run time, and make
> > > > more non-Latin users happy?
> > > 
> > > How?  Is there somewhere a function which converts a Windows codepage 
> > > number into a iconv compatible codeset string?
> > 
> > Sorry, I'm not following: last time I looked, iconv supported cpNNNN
> > codepages out of the box.  This is from an Ubuntu GNU/Linux system:
> > 
> >   $ iconv --version
> >   iconv (GNU libiconv 1.11)
> >   $ iconv --list | egrep "^CP"
> >   CP819 IBM819 ISO-8859-1 ISO-IR-100 ISO8859-1 ISO_8859-1 ISO_8859-1:1987 L1 LATIN1 CSISOLATIN1
> >   CP1250 MS-EE WINDOWS-1250
> >   CP1251 MS-CYRL WINDOWS-1251
> >   CP1252 MS-ANSI WINDOWS-1252
> >   CP1253 MS-GREEK WINDOWS-1253
> >   CP1254 MS-TURK WINDOWS-1254
> >   CP1255 MS-HEBR WINDOWS-1255
> >   CP1256 MS-ARAB WINDOWS-1256
> >   CP1257 WINBALTRIM WINDOWS-1257
> >   CP1258 WINDOWS-1258
> >   CP154 CYRILLIC-ASIAN PT154 PTCP154 CSPTCP154
> >   CP1133 IBM-CP1133
> >   CP874 WINDOWS-874
> >   CP932
> >   CP936 MS936 WINDOWS-936
> >   CP950
> >   CP949 UHC
> >   CP1361 JOHAB
> > 
> > What am I missing?
> 
> Windows has a function GetACP() which returns the current ANSI
> codepage.  iconv wants a string which determines the source and
> target codesets.  I don't know any function in Windows which 
> converts a codepage number into an iconv-compatible codeset name.

Erm.  Looks I wasn't thinking at all.  Since every codepage seems
to be simply avaiable as "CPxxx", it can be easily constructed,
apparently.

So this:

  #define GDB_DEFAULT_TARGET_CHARSET get_cp()

  char *
  get_cp ()
  {
    char buf[32];

    snprintf (buf, 32, "CP%u", GetACP ());
  }

should do it, right?


Corinna

-- 
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat


  reply	other threads:[~2010-02-28 18:11 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-28 13:05 Corinna Vinschen
2010-02-28 14:29 ` Daniel Jacobowitz
2010-02-28 15:03   ` Corinna Vinschen
2010-02-28 18:48     ` Daniel Jacobowitz
2010-02-28 19:22       ` Corinna Vinschen
2010-02-28 22:27         ` Daniel Jacobowitz
2010-03-01 10:31           ` Corinna Vinschen
2010-03-01 17:11             ` Eli Zaretskii
2010-03-01 17:28               ` Corinna Vinschen
2010-03-01 17:21             ` Tom Tromey
2010-03-01 17:23               ` Daniel Jacobowitz
2010-03-01 17:27                 ` Corinna Vinschen
2010-03-01 17:31               ` Corinna Vinschen
2010-03-01 19:25                 ` Tom Tromey
2010-03-01 19:31                   ` Daniel Jacobowitz
2010-03-01 20:06                     ` Corinna Vinschen
2010-03-01 20:44                     ` Eli Zaretskii
2010-03-01 21:50                       ` Daniel Jacobowitz
2010-03-02 10:44                         ` Corinna Vinschen
2010-03-02 13:54                           ` Daniel Jacobowitz
2010-03-02 14:13                             ` Corinna Vinschen
2010-03-02 15:03                               ` Daniel Jacobowitz
2010-03-02 17:43                                 ` Corinna Vinschen
2010-03-02 17:59                     ` Tom Tromey
2010-03-02 18:22                       ` Corinna Vinschen
2010-03-02 18:28                         ` Corinna Vinschen
2010-03-02 22:55                       ` Tom Tromey
2010-03-02 22:57                         ` Tom Tromey
2010-03-03 10:16                           ` Corinna Vinschen
2010-03-03 10:41                             ` Corinna Vinschen
2010-03-03 10:59                               ` Corinna Vinschen
2010-03-03 16:26                                 ` Tom Tromey
2010-03-03 10:16                         ` Corinna Vinschen
2010-03-03 16:25                           ` Tom Tromey
2010-03-03 16:46                             ` Corinna Vinschen
2010-03-05  8:55                               ` Charles Wilson
2010-03-03 21:15                           ` Tom Tromey
2010-03-04  9:34                             ` Corinna Vinschen
2010-03-04 15:24                               ` Christopher Faylor
2010-03-04 15:38                                 ` Corinna Vinschen
2010-03-03 17:08                         ` Daniel Jacobowitz
2010-03-03 17:22                           ` Corinna Vinschen
2010-03-03 17:27                             ` Corinna Vinschen
2010-03-03 17:33                             ` Daniel Jacobowitz
2010-03-03 17:42                               ` Eli Zaretskii
2010-03-03 18:00                               ` Corinna Vinschen
2010-03-03 18:05                                 ` Daniel Jacobowitz
2010-03-03 18:22                                   ` Corinna Vinschen
2010-03-03 19:39                                     ` Daniel Jacobowitz
2010-03-03 20:16                                       ` Eli Zaretskii
2010-03-03 20:26                                         ` Daniel Jacobowitz
2010-03-03 21:08                           ` Tom Tromey
2010-03-01 17:12           ` Tom Tromey
2010-03-01 17:21             ` Daniel Jacobowitz
2010-03-01 17:28               ` Tom Tromey
2010-03-01 17:50                 ` Corinna Vinschen
2010-02-28 16:56 ` Eli Zaretskii
2010-02-28 17:05   ` Corinna Vinschen
2010-02-28 17:45     ` Eli Zaretskii
2010-02-28 17:52       ` Corinna Vinschen
2010-02-28 18:11         ` Corinna Vinschen [this message]
2010-02-28 18:59           ` Eli Zaretskii
2010-02-28 19:23             ` Corinna Vinschen
2010-02-28 18:59         ` Eli Zaretskii

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=20100228181105.GO5683@calimero.vinschen.de \
    --to=vinschen@redhat.com \
    --cc=gdb-patches@sourceware.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