Can not stat file with utf char U+F020

Andrey Repin anrdaemon@yandex.ru
Mon Apr 17 10:58:47 GMT 2023


Greetings, Corinna Vinschen via Cygwin!

> On Apr 17 07:36, Gionatan Danti via Cygwin wrote:
>> Il 2023-04-14 23:01 Gionatan Danti via Cygwin ha scritto:
>> > Il 2023-04-14 22:25 Corinna Vinschen via Cygwin ha scritto:
>> > > We do that.  You're just stumbling over tha fact that U+F020 is also
>> > > used as outlined in
>> > > https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars
>> > > and https://cygwin.com/pipermail/cygwin/2023-April/253478.html
>> > 
>> > Ah, so spaces and dots are replaced respectively by U+F020 and U+F02E
>> > even without the "dos" mount option?
>> > Because I can not see it in my case of an NTFS filesystem with the
>> > following mount options: binary,posix=0,user,noumount,auto
>> 
>> Hi all,
>> it's not clear to me why even without the "dos" mount option both space and
>> dot are replaced by U+F020 and U+F02E, preventing U+F020 passthrough.
>> 
>> Am I missing something?

> It's actually not the "dos" mount option but specific filesystems
> which trigger the conversion from U+0020 to U+F020.

> However, the conversion back is handled in a piece of code which has
> no information about the underlying filesystem, so the F0xx -> 00xx
> conversion is done all the time.  Adding filesystem info in this
> place is really tricky.

My understanding is that on Windows, a regular file name can't start or end
with space, and can't end with dot.
There's ways to game this rule, but in simple cases this is how it works for
most part.
If a similar rule can be crafted for filesystems under discussion, that could
simplify the problem.


-- 
With best regards,
Andrey Repin
Monday, April 17, 2023 13:53:57

Sorry for my terrible english...



More information about the Cygwin mailing list