From: Jim Meyering Date: Tue, 23 Sep 2003 12:12:25 +0000 (+0000) Subject: (fold_file): Save errno after input error, to report proper errno value. X-Git-Tag: v5.1.0~549 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=57a5d2a4dbee673e38a01583b6b29ad4030324c5;p=thirdparty%2Fcoreutils.git (fold_file): Save errno after input error, to report proper errno value. --- diff --git a/src/fold.c b/src/fold.c index 2937660729..517be282a2 100644 --- a/src/fold.c +++ b/src/fold.c @@ -126,6 +126,7 @@ fold_file (char *filename, int width) int offset_out = 0; /* Index in `line_out' for next char. */ static char *line_out = NULL; static int allocated_out = 0; + int saved_errno; if (STREQ (filename, "-")) { @@ -209,12 +210,14 @@ fold_file (char *filename, int width) line_out[offset_out++] = c; } + saved_errno = errno; + if (offset_out) fwrite (line_out, sizeof (char), (size_t) offset_out, stdout); if (ferror (istream)) { - error (0, errno, "%s", filename); + error (0, saved_errno, "%s", filename); if (!STREQ (filename, "-")) fclose (istream); return 1;