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,389 of 264,096    |
|    Lawrence D'Oliveiro to Mark Berryman    |
|    Re: Local Versus Global Command Options    |
|    17 Feb 25 00:43:35    |
      From: ldo@nz.invalid              On Sun, 16 Feb 2025 15:52:23 -0700, Mark Berryman wrote:              > 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.              If you don’t go through a shell, then you pass an array of already-       separated words and you don’t have to worry about shell specials.              > 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.              Consider what happens: if you pass unquoted text to program X, DCL       converts it to uppercase, and I think also normalizes multiple spaces to a       single space. If you don’t want the text to be uppercased or space-       normalized, you put it in pairs of double quotes. But then these double       quotes also get passed as part of the command line. So the receiving       program has to do some non-trivial parsing just to get simple literal text       via the command line.              So now, how do you invoke program X directly from your own program Y,       without going through DCL? For consistency, you have to mimic all the same       misbehaviour of DCL to get the command line in the right format. If you       don’t want to do that, then you need some option to tell program X to       bypass all that special processing, and just accept the command line as       is. So it needs to distinguish between two ways of being invoked: directly       or via DCL!              > If I choose to use DCL, DCL does all of the parsing for me and the       > nature of the command-line is irrelevant.              If you don’t use DCL, then how do you invoke a program that expects DCL to       parse its command line for it? What happens to all of Arne’s lovingly-       crafted .CLD files?              > Programs on DEC OSes can invoke other programs directly and       > have been able to at least since the days of the PDP-11 ...              Yes, and there have been quite a few pitfalls with that, as I mentioned       above. Windows suffers from the same drawback, and this has even led to       security holes with Windows programs.              --- 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