On Thu, Nov 29, 2007 at 03:18:01PM -0800, Joe Buck wrote:
> On Thu, Nov 29, 2007 at 05:44:02PM -0500, Michael Meissner wrote:
> > On Thu, Nov 29, 2007 at 05:39:33PM +0100, Paolo Bonzini wrote:
> > > >The more easy specification will be
> > > >
> > > >int execel(const char *path, const char *arg0, char *const envp[],
> > > >                ... /*, (char *)0*/);
> > > >
> > > >with same functionality but reordered the parameters of the function
> > > >following the general pattern of putting '...' in the last position.
> > > 
> > > Don't blame gcc developers (whose mailing list this is, unless something 
> > > changed recently and I wasn't warned); take the discussion in the 
> > > appropriate places and they'll care to explain you the reasons (maybe).
> > > 
> > > Paolo
> > 
> > These system calls are part of the Opengroup standard for UNIX (which Linux
> > adheres to), and they have been around for many years.  At this point, I 
> > don't
> > recall if they were part of the UNIX V7 that is the ancestor of all modern
> > Linux, UNIX, BSD, etc. systems or whether they first appeared in System III 
> > or
> > BSD 4.2 (early 1980's).
> 
> V7 only had execl and execv.  The C library was much smaller in those
> days; see
> 
> http://minnie.tuhs.org/UnixTree/V7/usr/lib/llib-lc.html
> 
> for a list of all the calls (as a Lint library).  Those of you who
> don't remember K&R C, and lint, might find it a bit confusing.

Ah yes, K&R C.  So simple....  And then there were the 6-7 years of X3J11
meetings to come out with C89 to add little things like prototypes, stdarg.h,
void *, unsigned short/long types, etc.

Of course if you actually tried to use the grammar in the back of the book, you
would find that it had some typos (such as not being able to describe functions
that returned pointers to functions if memory serves).

-- 
Michael Meissner, AMD
90 Central Street, MS 83-29, Boxborough, MA, 01719, USA
[EMAIL PROTECTED]


Reply via email to