summaryrefslogtreecommitdiff
path: root/sfeed_curses.c
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2023-05-07 12:39:26 +0200
committerHiltjo Posthuma <hiltjo@codemadness.org>2023-05-07 13:33:29 +0200
commitbdcbf8589716c047a732db3cc349ee6114ccc25f (patch)
tree6c60331972e61cee30ef7835bb25935f1b435ba1 /sfeed_curses.c
parentccee88cb02cb54f586d22c53e8bb8865817c3dc4 (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.c13
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 */