include/closestream: don't wipe errno on EPIPE
... the code in close_stdout() is sensitive to EPIPE, so wipe errno is close_stream() is probably bad idea. Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
97c3278925
commit
422f93bfbb
|
@ -24,8 +24,9 @@ close_stream(FILE * stream)
|
|||
const int some_pending = (__fpending(stream) != 0);
|
||||
const int prev_fail = (ferror(stream) != 0);
|
||||
const int fclose_fail = (fclose(stream) != 0);
|
||||
|
||||
if (prev_fail || (fclose_fail && (some_pending || errno != EBADF))) {
|
||||
if (!fclose_fail)
|
||||
if (!fclose_fail && !(errno == EPIPE))
|
||||
errno = 0;
|
||||
return EOF;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue