Path: utzoo!attcan!uunet!husc6!bloom-beacon!tut.cis.ohio-state.edu!mailrus!ncar!ames!pasteur!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: aliases and RUN Message-ID: <8811161827.AA28304@postgres.Berkeley.EDU> Date: 16 Nov 88 18:27:29 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 50 :Actually, it's closer to UNIX than the CLI is. : :The CLI passes the program a command line and expects the program to break it :up into filenames and arguments. This is perfect PC-ware behaviour. : :UNIX breaks the command line up into a bunch of argument strings (argv), does :wildcard expansion, etc. Er, no. The OS does not break it up or do wildcard expansion. The unix shell (CSH) does all of this and passes an argv list to exec[*](). The UNIX OS has no idea how to break up command lines and doesn't care. :A well-behaved Amiga application cannot depend on the standard _main() code :breaking up the command line correctly. To begin with, it does no wildcard :expansion. Different versions of _main() handle quoted strings differently: :some use the UNIX convention, some use a subset, and others stick to the :CLI's overloading of '*' as the quote character. If you use a CLI, no wildcard expansion is done. If you use a shell (hint hint), wildcard expansion IS done. :> I'd still have to vote for maintaining some way to support the argc/argv :> based programs... : :Me too. That makes 9 million! Me too. >As I envision it, this wouldn't be a problem because the default environment >would be a shell that uses the workbench model to spawn tasks. > > Peter da Silva `-_-' peter@sugar.uu.net If it could be 'standardized' for argc/argv programs and if we *remove* the other two ways to pass arguments. Right now there are three ways to pass arguments: (1) Pass char *ptr and length in registers to a program (2) Pass command line as part of the Input() filehandle to a program (3) Workbench Style #(1) is used by C programs, plus they usually go into the CLI structure to get the command name for argv[0], #(2) is used by BCPL programs and is limited to aprox, what, 202 char command lines? #(3) is used by workbench programs -Matt