diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2023-05-07 12:39:26 +0200 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2023-05-07 13:33:29 +0200 |
commit | bdcbf8589716c047a732db3cc349ee6114ccc25f (patch) | |
tree | 6c60331972e61cee30ef7835bb25935f1b435ba1 /sfeed_curses.c | |
parent | ccee88cb02cb54f586d22c53e8bb8865817c3dc4 (diff) |
iterate on previous commit which adds $SFEED_NEW_MAX_SECS
Separate the common pattern to get the time to compare new items in format
tools to the new util function: getcomparetime().
Some changes and notes:
- Change it so it is OK to set this value to 0 or negative (in the future).
- sfeed_curses: truncating newmaxsecs to an int would limit the value too much.
- Just use strtotime() and parse the value to time_t. This is a signed long
(32-bit, until 2038) or signed long long (64-bit) on most platforms.
- sfeed_curses gets the comparison time on reload aswell and it needs errno =
0, because it uses die(). time() is not guaranteed to set an errno if it fails.
- Rename environment variable to $SFEED_NEW_AGE.
Diffstat (limited to 'sfeed_curses.c')
-rw-r--r-- | sfeed_curses.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/sfeed_curses.c b/sfeed_curses.c index cce608e..b6f995f 100644 --- a/sfeed_curses.c +++ b/sfeed_curses.c @@ -191,7 +191,6 @@ static int plumberia = 0; /* env variable: $SFEED_PLUMBER_INTERACTIVE */ static int piperia = 1; /* env variable: $SFEED_PIPER_INTERACTIVE */ static int yankeria = 0; /* env variable: $SFEED_YANKER_INTERACTIVE */ static int lazyload = 0; /* env variable: $SFEED_LAZYLOAD */ -static int newmaxsecs = 86400; /* env variable: $SFEED_NEW_MAX_SECS */ int ttywritef(const char *fmt, ...) @@ -1321,9 +1320,8 @@ feeds_load(struct feed *feeds, size_t nfeeds) size_t i; errno = 0; - if ((comparetime = time(NULL)) == (time_t)-1) - die("time"); - comparetime -= newmaxsecs; + if ((comparetime = getcomparetime()) == (time_t)-1) + die("getcomparetime"); for (i = 0; i < nfeeds; i++) { f = &feeds[i]; @@ -1967,7 +1965,7 @@ main(int argc, char *argv[]) struct pane *p; struct feed *f; struct row *row; - char *name, *tmp, *endptr; + char *name, *tmp; char *search = NULL; /* search text */ int button, ch, fd, i, keymask, release, x, y; off_t pos; @@ -1997,11 +1995,6 @@ main(int argc, char *argv[]) markunreadcmd = tmp; if ((tmp = getenv("SFEED_LAZYLOAD"))) lazyload = !strcmp(tmp, "1"); - if ((tmp = getenv("SFEED_NEW_MAX_SECS"))) { - newmaxsecs = (int) strtol(tmp, &endptr, 10); - if (*tmp == '\0' || *endptr != '\0' || newmaxsecs <= 0) - err(1, "cannot parse $SFEED_NEW_MAX_SECS"); - } urlfile = getenv("SFEED_URL_FILE"); /* can be NULL */ cmdenv = getenv("SFEED_AUTOCMD"); /* can be NULL */ |