I have a program called trickle that gives a warning and in its source code there is:
if (stat(sockname, &sb) == -1 &&
(errno == EACCES || errno == ENOENT))
warn("Could not reach trickled, working independently");
But the message I've got is:
trickle: Could not reach trickled, working independently: No such file or directory
Where does this No such file or directory
come from?
I think that when you get a error value that is stocked in errno, the function warn can use it as a precision.
In this particular case I bet it's the ENOENT for Error NO ENTry that is in errno.
From man warn(3):
The err(), verr(), warn(), and vwarn() functions append an error message obtained from strerror(3) based on the global variable errno, preceded by another colon and space unless the fmt argument is NULL.