![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: The various file opening functions in the C runtime library very helpfully accept both VMS and Unix style filenames. This is a good thing. However, there's one quirk to the filename translation that's terribly annoying. When passed a filespec of the form /foo/bar.dat, the C RTL will translate that to foo:bar.dat. Fair enough. And when passed a filespec of the form foo/bar.dat, it'll translate that to [.foo]bar.dat. Also fair enough. Except... If there's a logical foo def ined, foo/bar.dat will turn into foo:bar.dat even if there's a foo subdirectory at hand. Is there any way to convince the RTL that foo/bar.dat should *always* be turned to [.foo]bar.dat? Some magic logical or compile time option or something? I'd hate to have to change the code to unconditionally prepend ./ in front of all the relative Unix f ilespecs, as this'll make the affected code (perl :) a bit bigger and slower. The Answer is : A mechanism to provide this capability will be available in an ECO kit for the C RTL, and will be included in future OpenVMS releases.
|