From: Sami Kerola Date: Wed, 4 Apr 2012 17:59:35 +0000 (+0200) Subject: hwclock: verify writing to streams was successful X-Git-Tag: v2.22-rc1~539^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db116df726f640699e500590d50200b9df6115a2;p=thirdparty%2Futil-linux.git hwclock: verify writing to streams was successful Signed-off-by: Sami Kerola --- diff --git a/hwclock/hwclock.c b/hwclock/hwclock.c index 4da2dca791..3cedd1de33 100644 --- a/hwclock/hwclock.c +++ b/hwclock/hwclock.c @@ -72,6 +72,7 @@ #include "c.h" #include "clock.h" +#include "closestream.h" #include "nls.h" #include "pathnames.h" #include "strutils.h" @@ -164,7 +165,8 @@ static void write_date_to_file(struct tm *tm) if ((fp = fopen(_PATH_LASTDATE, "w"))) { fprintf(fp, "%02d.%02d.%04d\n", tm->tm_mday, tm->tm_mon + 1, tm->tm_year + 1900); - fclose(fp); + if (close_stream(fp) != 0) + warn(_("cannot write %s"), _PATH_LASTDATE); } else warn(_("cannot write %s"), _PATH_LASTDATE); } @@ -1026,7 +1028,7 @@ static void save_adjtime(const struct adjtime adjtime, const bool testing) adj_file_name); err = 1; } - if (fclose(adjfile) < 0) { + if (close_stream(adjfile) != 0) { warn(_ ("Could not update file with the clock adjustment " "parameters (%s) in it"), @@ -1521,6 +1523,7 @@ int main(int argc, char **argv) #endif bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); + atexit(close_stdout); /* Set option defaults */ show = set = systohc = hctosys = systz = adjust = noadjfile = predict =