UTF-8 Cygwin

SUZUKI Hisao suzuki611@oki.com
Fri Jul 7 06:28:00 GMT 2006

Christopher Faylor wrote:
> On Fri, Jul 07, 2006 at 01:14:36PM +0900, SUZUKI Hisao wrote:
>> Christopher Faylor wrote:
>>> I hate to say this but I really don't like doing things this way.  If
>>> we need to use wide character support then it should just be a
>>> wholesale replacement, not a bunch of wrappers around existing
>>> functions.
>>> Corinna and I have talked about using the FooW functions for a long
>>> time.  There are some fundamental changes required to incorporate these
>>> into cygwin but I don't think that wrappers around everything are the
>>> way to go.
>> I hope you will understand that both approaches (wapper approach and
>> non-wrapper approach) are _compatible_.
>> In Cygwin-1.5.20-1 on Windows XP, fhandler_disk_file::readdir() at
>> winsup/cygwin/fhandler_disk_file.cc does not use FindNextFileA, one of
>> ANSI WIN32 APIs, anymore.  It use so-called undocumented APIs which are
>> Unicode-base.  You have implemented your approach here a little,
>> haven't you?
> Hmm.  Two times in one day where people seem to think that they've made
> a telling point by mentioning that cygwin uses the Nt routines.  What are
> the odds.
> Anyway, I know that you are proud of your patch and I really appreciate
> the amount of work that went into it but I really don't want to do
> things this way.

I'd like to hear the reason, if you please.

> I'm really sorry about this.  If you had asked about your approach prior
> to implementing it, I'm sure that either Corinna or I would have
> expressed our reservations.

I have implemented it because it is _necessary_ for us and for now.

I do not think the other approach is reasonable.  In fact, I had tried
the other approach also, but it had never stared to work.  You will
have to redesign "class path_conv" in winsup/cygwin/path.h more cleanly.
It may be feasible in theory, but it requires a lot of efforts.
And its gain in efficiency will be little...anyway you need conversion
between UTF-8 and Unicode to keep compatibility with POSIX, and path names
are short enough in most cases.

> cgf

-- SUZUKI Hisao

More information about the Cygwin-patches mailing list