errno in C?
You may see references to
errno in C code. This is defined in
#define errno (*__error())
errno dereferences a call to a function
__error. This is defined as
extern int * __error(void);
That is, a function which takes no arguments and returns a non-null pointer to the error number.
The docs say
errnois defined by the ISO C standard to be a modifiable lvalue of type
That is, we should be able to assign to
errno. This is possible, because
*V is also an lvalue.
These details aside,
errno is basically a global
int value. Its value is set by some system calls. It’s an assistant to the “return
More by Jim
- Project C-43: the lost origins of asymmetric crypto
- How Hacker News stays interesting
- My parents are Flat-Earthers
- The dots do matter: how to scam a Gmail user
- The sorry state of OpenSSL usability
- I hate telephones
- The Three Ts of Time, Thought and Typing: measuring cost on the web
- Granddad died today
- Your syntax highlighter is wrong
I wrote this because I felt like it. This post is not associated with my employer. Found an error? Edit this page.