]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/rssclient/serv_rssclient.c
Fix seen expiration for RSS
[citadel.git] / citadel / modules / rssclient / serv_rssclient.c
index 784f34b60d103406296b9edf72079713a4ad2467..c8f67c5c8c33d450e7bccaab377ad04d393805a9 100644 (file)
@@ -402,7 +402,7 @@ eNextState RSSSaveMessage(AsyncIO *IO)
                
                /* write the uidl to the use table so we don't store this item again */
                
-               CheckIfAlreadySeen("RSS Item Insert", RSSAggr->ThisMsg->MsgGUID, IO->Now, 0, eWrite, CCID, IO->ID);
+               CheckIfAlreadySeen("RSS Item Insert", RSSAggr->ThisMsg->MsgGUID, EvGetNow(IO), 0, eWrite, CCID, IO->ID);
        }
 
        if (GetNextHashPos(RSSAggr->Messages,
@@ -417,8 +417,8 @@ eNextState RSSSaveMessage(AsyncIO *IO)
 eNextState RSS_FetchNetworkUsetableEntry(AsyncIO *IO)
 {
        static const time_t antiExpire = USETABLE_ANTIEXPIRE_HIRES;
-       time_t seenstamp = 0;
 #ifndef DEBUG_RSS
+       time_t seenstamp = 0;
        const char *Key;
        long len;
        rss_aggregator *Ctx = (rss_aggregator *) IO->Data;
@@ -428,11 +428,11 @@ eNextState RSS_FetchNetworkUsetableEntry(AsyncIO *IO)
        SetRSSState(IO, eRSSUT);
        seenstamp = CheckIfAlreadySeen("RSS Item Seen",
                                       Ctx->ThisMsg->MsgGUID,
-                                      IO->Now,
+                                      EvGetNow(IO),
                                       antiExpire,
                                       eCheckUpdate,
                                       CCID, IO->ID);
-       if (seenstamp < antiExpire)
+       if (seenstamp != 0)
        {
                /* Item has already been seen */
                EVRSSC_syslog(LOG_DEBUG,
@@ -513,7 +513,7 @@ eNextState RSSAggregator_AnalyseReply(AsyncIO *IO)
 
                SetRSSState(IO, eRSSFailure);
                ErrMsg = NewStrBuf();
-               EVRSSC_syslog(LOG_ALERT, "need a 200, got a %ld !\n",
+               if (IO) EVRSSC_syslog(LOG_ALERT, "need a 200, got a %ld !\n",
                              IO->HttpReq.httpcode);
                
                strs[0] = ChrPtr(Ctx->Url);
@@ -542,8 +542,9 @@ eNextState RSSAggregator_AnalyseReply(AsyncIO *IO)
                        ChrPtr(ErrMsg),
                        "RSS Aggregation run failure",
                        2, strs, (long*) &lens,
-                       IO->Now,
-                       IO->ID, CCID);
+                       CCID,
+                       IO->ID,
+                       EvGetNow(IO));
                
                FreeStrBuf(&ErrMsg);
                EVRSSC_syslog(LOG_DEBUG,
@@ -557,7 +558,7 @@ eNextState RSSAggregator_AnalyseReply(AsyncIO *IO)
 
        while (pCfg != NULL)
        {
-               UpdateLastKnownGood (pCfg, IO->Now);
+               UpdateLastKnownGood (pCfg, EvGetNow(IO));
                if ((Ctx->roomlist_parts > 1) && 
                    (it == NULL))
                {
@@ -599,8 +600,8 @@ eNextState RSSAggregator_AnalyseReply(AsyncIO *IO)
 
        if (CheckIfAlreadySeen("RSS Whole",
                               guid,
-                              IO->Now,
-                              IO->Now - USETABLE_ANTIEXPIRE,
+                              EvGetNow(IO),
+                              EvGetNow(IO) - USETABLE_ANTIEXPIRE,
                               eCheckUpdate,
                               CCID, IO->ID)
            != 0)