home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.os.vms      DEC's VAX* line of computers & VMS.      264,096 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 262,390 of 264,096   
   Mark Berryman to Lawrence D'Oliveiro   
   Re: Local Versus Global Command Options   
   16 Feb 25 15:52:23   
   
   From: mark@theberrymans.com   
      
   On 2/15/25 2:32 PM, Lawrence D'Oliveiro wrote:   
   > On Sat, 15 Feb 2025 12:22:59 -0700, Mark Berryman wrote:   
   >   
   >> So, IMHO, DCL is superior in this regard.   
   >   
   > Unfortunately, no. The fundamental problem with DEC OSes (and this   
   > includes Windows) is that the command line is passed to the program as a   
   > single string buffer. On *nix systems, it is passed as an array of   
   > strings.   
      
   On *nix systems, the shell parses the command line into an array of   
   strings using unquoted spaces as the separator which is then passed to   
   the created process.   
      
   On VMS, the crtl does the same parsing which means the program still   
   sees an array of strings the same as on a *nix system.   
      
   If I choose to use DCL, DCL does all of the parsing for me and the   
   nature of the command-line is irrelevant.   
      
   >   
   > You should be familiar with the well-known problem of one program invoking   
   > another with a command that might include characters with special meanings   
   > to a shell. On a *nix system, there is a simple way to avoid those special   
   > meanings: the first program invokes the second program directly, without   
   > going through a shell.   
   >   
   > Nowadays, there is even a simple library call to do this   
   > .   
   >   
   > This is not so easy to do with a DEC-style command line.   
      
   Incorrect.  Programs on DEC OSes can invoke other programs directly and   
   have been able to at least since the days of the PDP-11 (which somewhat   
   predates the advent of posix_spawn).  The nature of the command-line is   
   completely up to the program depending on what function is used to call   
   the new program.   
      
   Mark Berryman   
      
   --- SoupGate-DOS v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca