open() giving ENOENT when trying to create files with control chars

Martin Koeppe mkoeppe@gmx.de
Mon Dec 5 00:35:00 GMT 2005


On Sun, 4 Dec 2005, Corinna Vinschen wrote:

>> http://support.microsoft.com/default.aspx?scid=kb;en-us;117258
>> is interesting...
>
> This is certainly interesting.  Using this in Cygwin would require to
> change the path handling to using UNICODE, though, which is a major
> undertaking since the path handling throughout Cygwin is plain ASCII
> right now.

I remember having read about those mappings used by
Services for Macintosh and Services for Unix. If I remeber right, they 
are unfortunately incompatible!

SFM uses (from link above):
    Macintosh ANSI  Unicode
    -----------------------------
    0x01-0x1F       0xF001-0xF01F
    "               0xF020
    *               0xF021
    /               0xF022
    <               0xF023
    >               0xF024
    ?               0xF025
    \               0xF026
    |               0xF027

But SFU uses:
    <any invalid ascii char>   =>  0xF000 + ascii code

So for 0x01-0x1f the mapping is the same, but e.g. "?" is mapped
0x3f => 0xf03f by SFU, and not to 0xf025.

Unfortunately I didn't find the source of SFU mapping any more. The 
only thing I found:
http://www.interopsystems.com/tools/forum/tm.aspx?m=1233&mpage=1&#1236

While searching I found this thread which might be interesting when 
planning to migrate cygwin from ascii to unicode internally:
http://www.opengroup.org/austin/mailarchives/ag/msg08574.html


Martin

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list