bengsig@oracle.nl (Bjorn Engsig) (11/16/89)
Sorry if this is discussed often - I don't normally read c.u.w. The execv family of system calls all have char *argv[] as their second parameter, and you are required to put an endmarker as (char *)0 in it. On the other hand, main has int argc and char *argv[] but here, the endmarker has disappeared. Has it ever been considered to change the defi- nition of main such that it will always be true that argv[argc] == (char *)0 or to change the execv's to use argc and not an endmarker. Is it due to the fact that main() is a C-thing whereas exec() is a Unix thing, and they therefore are incompatible? If this is the case, why isn't there a system() counterpart in the scope of C with the same parameters as main()? It is probably much too late to change anything, but I would just like to know if this has ever been considered. -- Bjorn Engsig, Domain: bengsig@oracle.nl, Path: uunet!mcsun!orcenl!bengsig USA Domain: bengsig@nlsun1.oracle.com