Sascha Schumann wrote: > > > Exactly... we're still back to integral values. Of course, returning > > a *int and an int are different (and therefore the above can't be a > > full implemetation), but the concept still implies that we're integral. > > Actually, that is conceptually the full interface definition. > The function returns a pointer to an integer in thread-local > storage, so that each thread can maintain its own errno > instance. > > In real, it looks like this on Linux: > > extern int *__errno_location (void) __THROW __attribute__ ((__const__)); > # define errno (*__errno_location ()) >
On darwin it's: __BEGIN_DECLS extern int * __error __P((void)); #define errno (*__error()) __END_DECLS By "full implementation" I didn't mean the full description :) -- =========================================================================== Jim Jagielski [|] [EMAIL PROTECTED] [|] http://www.jaguNET.com/ "A society that will trade a little liberty for a little order will lose both and deserve neither" - T.Jefferson