The existing vmsify and unifiy routines are doing completely different translations than what the VMS CRTL is doing, and are also different than just about any other VMS program that I have seen.

The code appears to pre-date the VMS CRTL providing equivalent routines, and does not handle logical names or devices correctly at all.

Several of the entries in the conversion table, including
table lines 3, 4, 5, 9-11 have always been incorrect.

Table line 22 is wrong for ODS-5 filenames, and the size of the path name is out of date. ODS-5 paths can be 4095 ASCII, UCS-2, or 8-bit binary characters.

What I plan to do is have the routines just call the VMS CRTL conversion routines, and totally junk the broken code.

There may be some conversions that the CRTL does not cover, like replacing extra '.' characters to '_', but this should work much better than the existing code.

Correct VMS to Unix translations are:

foo:bar              foo/bar
[.foo]bar.baz        foo/bar.baz
foo:[bar.baz]x.y     /foo/bar/baz/x.y

node::foo:[dir]      //node/foo/dir/

Of course almost nothing currently used knows that //node is a DECNET address.

Regards,
-John
wb8tyw@qsl.network



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to