The next patch I am testing is to add a new flag to rmsexpand to tell it that the input file is already in VMS format, so not to waste the cycles to vmsify it.

And then also convert cando_by_name to be cando_by_name_int() where cando_by_name_int accepts an additional parameter that tells it that the name is already in VMS format.

The cached name that Perl_cando is testing is already in VMS format so it will call cando_by_name_int with that parameter set.

Next will be to start updating unixify/vmsify to better handle EFS file specifications.

It looks like I will need a feature switch/logical name to determine if characters with the high bit set in UNIX format file specifications are in DECMCS format or in UTF-8 format. That will require me to convert VTF-7 to UTF-8 and back. VTF-7 is the ASCII-HEX representation of UCS-2 prefixed with a "^U" sequence. I still do not have the conversion right in vms.c

It seems to me that VMS file specs in VTF-7 format should be converted to UNIX file specifications in UTF-8 format.

It also appears that the interfaces to/from perl for filenames need to return or set the byte length and if the string is in Unicode. I have not yet figured out how to do that.

Of course the VMS C RTL can not handle UTF-8 filenames, so all calls to the CRTL would need UTF-8 filenames converted through rmsexpand().

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to