summaryrefslogtreecommitdiff
path: root/src/feeds.c
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2020-11-27 13:38:09 +0200
committerJaakko Keränen <jaakko.keranen@iki.fi>2020-11-27 13:38:09 +0200
commit701c579186d403aefd49107be00dd38625c6e357 (patch)
tree262d69db8193a893b04a37c2a6b4f2deae100837 /src/feeds.c
parente78b773a4c58c016025fa4e5f5d9ee6f5070fa4d (diff)
Feeds: Marking all as read; time check improvements
For some unknown reason, the parsing of the entry dates is sometimes (randomly?) off by 3600 seconds (one hour). This need a closer investigation; maybe a DST thing? For now check the date instead.
Diffstat (limited to 'src/feeds.c')
-rw-r--r--src/feeds.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/feeds.c b/src/feeds.c
index 211ee353..9468ba65 100644
--- a/src/feeds.c
+++ b/src/feeds.c
@@ -183,8 +183,13 @@ static iBool updateEntries_Feeds_(iFeeds *d, iPtrArray *incoming) {
183 iFeedEntry *existing = *(iFeedEntry **) at_SortedArray(&d->entries, pos); 183 iFeedEntry *existing = *(iFeedEntry **) at_SortedArray(&d->entries, pos);
184 /* Already known, but update it, maybe the time and label have changed. */ 184 /* Already known, but update it, maybe the time and label have changed. */
185 iBool changed = iFalse; 185 iBool changed = iFalse;
186 iDate newDate;
187 iDate oldDate;
188 init_Date(&newDate, &entry->timestamp);
189 init_Date(&oldDate, &existing->timestamp);
186 if (!equalCase_String(&existing->title, &entry->title) || 190 if (!equalCase_String(&existing->title, &entry->title) ||
187 cmp_Time(&existing->timestamp, &entry->timestamp)) { 191 (newDate.year != oldDate.year || newDate.month != oldDate.month ||
192 newDate.day != oldDate.day)) {
188 changed = iTrue; 193 changed = iTrue;
189 } 194 }
190 set_String(&existing->title, &entry->title); 195 set_String(&existing->title, &entry->title);