This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin 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: Accessing filenames with different charsets


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/


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