unpackers: check errors from close() too
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/archival/bbunzip.c b/archival/bbunzip.c
index d25f509..d6625e4 100644
--- a/archival/bbunzip.c
+++ b/archival/bbunzip.c
@@ -98,6 +98,7 @@
status = unpacker(&info);
if (status < 0)
exitcode = 1;
+ xclose(STDOUT_FILENO); /* with error check! */
if (filename) {
char *del = new_name;
@@ -108,12 +109,11 @@
times.actime = info.mtime;
times.modtime = info.mtime;
- /* Close first.
+ /* Note: we closed it first.
* On some systems calling utime
- * then closing resets the mtime. */
- close(STDOUT_FILENO);
- /* Ignoring errors */
- utime(new_name, ×);
+ * then closing resets the mtime
+ * back to current time. */
+ utime(new_name, ×); /* ignoring errors */
}
/* Delete _compressed_ file */