clinuxgnu

Where does this error message come from?


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?


Solution

  • 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.