summaryrefslogtreecommitdiff
path: root/sfeed_plain.c
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2020-07-05 15:57:02 +0200
committerHiltjo Posthuma <hiltjo@codemadness.org>2020-07-05 15:57:02 +0200
commit276d5789fd91d1cbe84b7baee736dea28b1e04c0 (patch)
tree4d107bbcaa6272c10006f9ff45cfe06f8f7252c7 /sfeed_plain.c
parenta13633a0a6b4e43d7809919ad70e085b9ecdff47 (diff)
format tools: don't skip items with a missing/invalid timestamp field
Handle it appropriately in the context of each format tool. Output the item but keep it blanked. NOTE: maybe in sfeed_twtxt it should use the current time instead?
Diffstat (limited to 'sfeed_plain.c')
-rw-r--r--sfeed_plain.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sfeed_plain.c b/sfeed_plain.c
index 6dd3d5e..42f9626 100644
--- a/sfeed_plain.c
+++ b/sfeed_plain.c
@@ -26,19 +26,19 @@ printfeed(FILE *fp, const char *feedname)
parseline(line, fields);
parsedtime = 0;
- if (strtotime(fields[FieldUnixTimestamp], &parsedtime))
- continue;
- if (!(tm = localtime(&parsedtime)))
- err(1, "localtime");
-
- if (parsedtime >= comparetime)
- fputs("N ", stdout);
- else
- fputs(" ", stdout);
+ if (!strtotime(fields[FieldUnixTimestamp], &parsedtime) &&
+ (tm = localtime(&parsedtime))) {
+ if (parsedtime >= comparetime)
+ fputs("N ", stdout);
+ else
+ fputs(" ", stdout);
+ fprintf(stdout, "%04d-%02d-%02d %02d:%02d ",
+ tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
+ tm->tm_hour, tm->tm_min);
+ } else {
+ fputs(" ", stdout);
+ }
- fprintf(stdout, "%04d-%02d-%02d %02d:%02d ",
- tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
- tm->tm_hour, tm->tm_min);
if (feedname[0]) {
printutf8pad(stdout, feedname, 15, ' ');
fputs(" ", stdout);