This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Accessing filenames with different charsets
- From: Ville Herva <vherva at niksula dot hut dot fi>
- To: cygwin at cygwin dot com
- Date: Wed, 3 Jul 2002 00:38:25 +0300
- Subject: Re: Accessing filenames with different charsets
- References: <20020701085851.GD9092@niksula.cs.hut.fi>
- Reply-to: cygwin at cygwin dot com, v at iki dot fi
On Mon, Jul 01, 2002 at 11:58:51AM +0300, you [Ville Herva] wrote:
> Sorry if this has already been discussed, but I couldn't find it in the
> archive nor in the FAQ...
>
> If I have a file name with Russian characters in it, cygwin is unable to
> access it:
>
> > ls
> ????.TEST
>
> (Russian characters are shown as '?' in directory listing, but ls does find
> the file).
>
> If I try to access it, however, open fails:
>
> > touch *
> touch: '????.TEST': no such file or directory
>
> same deal with less, cp, rm, rsync etc.
Okay, it seems cygwin readdir() returns the filenames as "????.TEST" (where
?:s are really ?:s (ascii 0x3f)). Looking at fhandler_disk_file.cc, this
can't be caused by much else than by FindFirstFileA() returning "????.TEST".
And indeed, if made a little non-unicode test program, that called
FindFirstFile, and it returned "????.TEST" ("\0x3f\0x3f\0x3f\0x3f.TEST").
To access the file, the wide char versions of Find*File() functions would
propably have to be used (or is there another way?). I can't no idea how this
could be integrated into the cygwin framework...
Any ideas?
-- v --
v@iki.fi
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/