Craig A. Berry wrote:

There seem to be at least three different things going on in this patch.

1.)  Removing thread context from the calling sequences of some
routines.  I don't see that we gain a lot by doing this, particularly
when there is an alternative routine without thread context
available, and even if there's a compelling reason to do so we really
shouldn't before 5.12 for the externally-visible routines.

Ok, but there still needs to be some fixes to vmsish.h, in at least one case, the external definition is only visible for when threaded perl is built.

2.) A wrapper for fgetname to convert its result to Unix format when unix reporting is in effect. Wouldn't it be easier to just define a macro like so:

#define fgetname(a,b) decc$fgetname(a,b,!decc_filename_unix_report)

? Or when you said it's not working did you mean it is ignoring its optional third argument?

What I mean is that it is returning invalid UNIX file specifications when DECC$FILENAME_UNIX_REPORT is active. So what I do is force it to return VMS format and then call Unixify on the result.

It is ignoring the DECC$READDIR_DROPDOTNOTYPE setting. Arguably it is not readdir, but it should return the same file specification that a readdir() of the directory should.

3.) Some logic changes to the mkdir/chdir/chmod wrappers. Those look fine offhand but are tangled up with #1 above. Could I get them as a separate patch?

It looks like you need three patches:

1. Fix the existing bugs in vmsish.h.

2. fgetname() wrapper.

3. mkdir/chdir/chmod wrappers.

I will try to get to them soon.

-John
wb8...@qsl.net
Personal Opinion Only

Reply via email to