Re: [blead-498-gb94a8c4] vms chdir/chmod/mkdir... thread contextdependency removal

[email protected] (John Malmberg)
Newsgroups perl.perl5.porters,perl.vmsperl
Message-ID <[email protected]>
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
[email protected]
Personal Opinion Only
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.