From b6f7a3fe15f2f253a1653454f514b467aa20f821 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Mon, 14 Mar 2022 13:25:52 +0100 Subject: improve time(NULL) error checking Use errx, time(NULL) does not set errno. For sfeed_curses reset errno so it doesn't print a random error if it failed. POSIX recommends checking against (time_t)-1 on failure. Note that some implementation, like the OpenBSD man page says time() cannot fail. --- sfeed_curses.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sfeed_curses.c') diff --git a/sfeed_curses.c b/sfeed_curses.c index 4d77504..1c6bc24 100644 --- a/sfeed_curses.c +++ b/sfeed_curses.c @@ -1308,7 +1308,8 @@ feeds_load(struct feed *feeds, size_t nfeeds) struct feed *f; size_t i; - if ((comparetime = time(NULL)) == -1) + errno = 0; + if ((comparetime = time(NULL)) == (time_t)-1) die("time"); /* 1 day is old news */ comparetime -= 86400; -- cgit v1.2.3