"Craig A. Berry" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
> Yeah, this is nasty stuff and I think has affected you before as
> well.  I'm sorry it hasn't been fixed, but I don't know how to fix it
> without breaking other things.  The basic issue, IIRC, is that when a
> command procedure is executed, SYS$INPUT is defined to be the
> procedure.  vmspipe.com reassigns SYS$INPUT to the pipe passed in via
> symbol, but SYS$COMMAND is inherited from the parent, which is why
> your INQUIRE still prompts the terminal.
>
> If you replace your test.com with the following one, you can get the
> behavior you are expecting, though I make no promises that it covers
> all cases.  Basically if sys$input is a mailbox, it opens it for
> reading; otherwise it goes after sys$command like it normally would.
>
> $ type test.com
> $ if f$getdvi("sys$input","devtype") .eqs. "1"
> $ then
> $   open/read pipe sys$input
> $ else
> $   define pipe sys$command
> $ endif
> $ READ/PROMPT="Enter data to print: " pipe A
> $ WRITE SYS$OUTPUT "Received: ''A'"
>
>
> -- 

The real problem we're running into due to this bug is that we have an
install script that sets up anonymous FTP via calling the
SYS$MANAGER:TCPIP$CONFIG dcl script.  I don't believe we could change that
script since it is a system provided script.

A while back I posted some tests I ran on using the system() call.  I
believe we can get this to work on 7.3+ systems using the system() and
popen() calls.  I took a bit of a look at the code but wasn't too sure where
to start as most of the PP_ code is fairly complicated and not much inline
documentation is provided.  Also my experience with the perl code is
practially none.  I could probably hack up a fix for this but it will likely
break things for everyone else.  If someone would be willing to review the
changes I make and maybe give me an idea of what things likely would need to
be changed then I probably can handle this task.  Also I'm not too sure what
 defines we have to determine the version of VMS we are on.  If I could do
something like:
if (VMS_VERSION > 7.3)
{
    all the changes needed to do this
}

else
{
    normal stuff
}

Then I think I could put these changes in.

Michael Downey


Reply via email to