different behaviour on fbsd and linux

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Sun Feb 19 02:54:44 PST 2006


On Sat, Feb 18, 2006 at 01:43:30PM -0800, John-Mark Gurney wrote:
> Divacky Roman wrote this message on Sat, Feb 18, 2006 at 18:39 +0100:
> > On Sat, Feb 18, 2006 at 06:21:52PM +0100, joerg at britannica.bec.de wrote:
> > > On Sat, Feb 18, 2006 at 06:17:18PM +0100, Divacky Roman wrote:
> > > >       execl("/bin/ls", NULL);
> > > 
> > > This is wrong. You must specify arg0 != NULL (POSIX says so) and you
> > > must NULL-terminate the *following* list.
> > > 
> > > E.g.:
> > > 	execl("/bin/ls", "/bin/ls", NULL);
> > > is what you want to do.
> > 
> > 
> > ah.. thnx.. the man page should be updated with "he
> >      first argument, by convention, should point to the file name associated
> >           with the file being executed."
> > 
> > s/should/must then
> 
> Nope.. it need not be the same..  in cases like this:
> execl("/usr/bin/gzip", "gunzip", NULL);
> 
> will give you gunzip behavior because the gzip binary looks at argv[0]
> and changes it's behavior based upon what it finds..  look at crunchgen
> for the ability to combine different programs into one binary...

ok.. but I'd appreciate info that it cannot be NULL ;(


More information about the freebsd-hackers mailing list