RE: FW: Passing large number of arguments to a program
Can you supply the section number at least of the OpenVMS user's Guide
where you found the reference cited below? I have been searching the
web site now and getting nowhere in my attempt to find and read it.
From: Stephen Hoffman [mailto:Hoff@HoffmanLabs-RemoveThis-.Org]
Sent: Monday, December 03, 2007 6:50 PM
Subject: Re: FW: Passing large number of arguments to a program
Farrell, Michael wrote:[color=blue]
> One of my programmers wrote a program that receives a huge
> (embarrassingly huge) number of arguments.
> The program is run through a DCL jacket procedure that develops the
> arguments and calls the program.
> If the number of arguments exceeds 143, not the leading argument, but
> the following leading arguments get clobbered.[/color]
From the documentation of DCL currently available in the OpenVMS User's
Guide at the HP web site: "Include no more than 127 elements
(parameters, qualifiers, and qualifier values) in each command line."
The associated command length and token size limits were increased in
late V7 and in V8 releases, and that much is documented in the new
I don't know that the maximum number of elements has been changed.
(Based on what you are seeing, it would appear not.)
If this documentation holds -- it's what is currently posted, though
whether or not this documentation is the most current in light of the
DCL changes is another question -- then your programmer's code is
depending on unsupported behavior, and you have an enhancement request
(better error reporting, more elements) and not a bug report. (How HP
might choose to respond to any of this is another and open question.)
Me? I'd alter the code to avoid needing a gazillion parameters. I'd
tend to look to pass in the wad of data required here via a file or via
mailbox or other such approach. (FWIW, DCL has mailbox capabilities in
recent releases with CREATE /MAILBOX and such...) Or at least stuff the
wad you have into 127 or fewer elements.
Services for OpenVMS