Broken alarm(3)

Miloslav Trmac mitr at volny.cz
Sun Jun 12 22:50:14 UTC 2005


On Sun, Jun 12, 2005 at 06:41:25PM -0400, Alan Cox wrote:
> And writing to errno isn't allowed in C
It is allowed, actually.  C99 describes it as a "modifiable lvalue"
(OK, that's not explicit), footnote 170 says "a program that uses
errno for error checking should set it to zero before a library
function call" (OK, not normative).

Without setting errno to 0 it is impossible to detect e.g. range
errors in strtol () (as opposed to input string with value LONG_{MIN,MAX}).

SUSv3 explicitly talks about application assigning a value to errno;
it is also impossible to detect whether readdir () reached EOF or
encountered an error without errno modification.
	Mirek




More information about the fedora-test-list mailing list