This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH/RFA] Revamp wctomb/mbtowc conversion, add more charset support


On Mar 24 05:53, Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> According to Corinna Vinschen on 3/24/2009 4:44 AM:
> > The simplest method is to have the 32 or 33 ctype tables and just change
> > __ctype_ptr to point to the right one.  This has an advantage, speed,
> > and a disadvantage, size.  This method also doesn't work for Cygwin.
> 
> But another advantage - when we finally get around to implementing
> is_alnum_l and friends, we need multiple tables to be accessible at once,
> and dispatch to the correct table according to the locale_t argument.
> This seems a lot easier if the tables are distinct than if we are
> modifying the single table every time we swap locales.

The problem is backward compatibility.  Older applications would not
profit at all from the character class tables if we switch to newlib's
new ctype method and just keep the old _ctype_b array lying around.

I agree that it would be nice if we changed Cygwin's implementation to
use __ctype_ptr as well.  It's much better than the current hardcoded
method.

For now I'll check in my change to Cygwin's ctype nevertheless.  It's
much better than what we have now, ignoring every non-ASCII char.
Fortunately it doesn't collide with a new implementations if we decide
to get around to it.


Corinna

-- 
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]