"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