On Wed, 2 Feb 2005, Craig A. Berry wrote:

> At 2:41 PM -0600 2/2/05, John E. Malmberg wrote:
> >I notice that Perl is checking if the stat is being done on the NULL
> >device, and generating a fake stat structure.
> >
> >stat() should return the correct information from either a filespec of
> >"NLA0:" or "NL:" or even "/dev/null"
>
> Sure, on recent versions of VMS.  I'd be reluctant to break older
> versions, at least without knowing exactly which ones I was breaking
> so I could document it.

It may more be a case of only conditionally compiling the code in for
versions of VMS older than what it is know to work for.

Any idea what the oldest version of VMS that the current release of
Perl will still build on?  HP/COMPAQ/DECC is avaialable in one flavor
or another back to OpenVMS 5.5-2.

With OpenVMS 8.2 and when using the standard compliant stat structure,
the code handling the NULL device is producing the wrong answer.

In looking at what it would take to use the standard stat structure in
Perl, the only stumbling block I am seeing is the routine Perl_cando().

With the standard compliant stat, there is no pointer to the device name,
instead a unique 64 bit number for the st_dev member is returned, and
I am currently ignorant of anyway to use that to determine the real device
name as Perl_cando() needs.

Until that is resolved, building Perl with _USE_STD_STAT will not work
right.

And with the _LARGEFILE option, mystat might as well use __ino64_t for
the ino_type and not use the rvn and fill members.

Also, the dbgminiperl.exe is not being LINKED/DEBUG, should it be?
Now I have to use LINK/DEBUG before running the build.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to