> 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

Reply via email to