> 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 ())
- Sascha