Mail Archives: djgpp/1997/09/14/17:50:08
On Sun, 7 Sep 1997, Eli Zaretskii wrote:
>
> It's not. ANSI leaves this very vague indeed. It says argv[0] is the
> name of the program, but doesn't specify how precise that name should
> be. It even allows the name to be an empty string "".
>
That's because it is up to the OS's spawn or exec function to pass the
parameters to the executing program.
In DOS the command line params are read from the program's psp.
> On a more practical note, some Unix shells only return the program
> name as typed on the command line. For example, if you typed "foo bar"
> and the program `foo' was found along the PATH, you will only have
> "foo" as argv[0].
AFAIK this applies to DOS as well.
It depends on the OS implementation.
> Programs that need to know the exact file name
> of their executable should also look along the PATH to handle such
> shells (for example, Emacs does that at startup).
>
- Raw text -