Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
authorWilfried Goesgens <dothebart@citadel.org>
Thu, 23 Sep 2010 16:22:34 +0000 (18:22 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Thu, 23 Sep 2010 16:22:34 +0000 (18:22 +0200)
citadel/modules/rssclient/serv_rssclient.c
libcitadel/lib/hash.c
webcit/smtpqueue.c

index 0d8442b41551ba101e2c46196c56594a3dbf26fb..b2cd3747f92ccfad92bbe97544b0fdbdd507882b 100644 (file)
@@ -409,14 +409,21 @@ void rss_save_item(rss_item *ri)
                        StrBuf *EmailAddress;
                        StrBuf *EncBuf;
                        int FromAt;
+                       int FromLen;
                        
                        UserName = NewStrBuf();
                        EmailAddress = NewStrBuf();
                        EncBuf = NewStrBuf();
 ////TODO!
+                       StrBufTrim(ri->author_or_creator);
                        From = html_to_ascii(ChrPtr(ri->author_or_creator),
                                             StrLength(ri->author_or_creator), 
                                             512, 0);
+                       FromLen = strlen(From);
+                       if (From[FromLen - 1] == '\n')
+                       {
+                               From[FromLen - 1] = '\0';
+                       }
                        FromAt = strchr(From, '@') != NULL;
                        if (!FromAt && StrLength (ri->author_email) > 0)
                        {
@@ -424,7 +431,7 @@ void rss_save_item(rss_item *ri)
                                if (!IsEmptyStr(From))
                                {
                                        StrBufPrintf(Encoded,
-                                                    "\"%s\" <%s>", 
+                                                    "%s<%s>", 
                                                     From, 
                                                     ChrPtr(ri->author_email));
                                }
@@ -443,7 +450,7 @@ void rss_save_item(rss_item *ri)
                                {
                                        Encoded = NewStrBuf();
                                        StrBufPrintf(Encoded,
-                                                    "\"%s\" <%s>", 
+                                                    "%s<%s>", 
                                                     From, 
                                                     "rss@localhost"); /// TODO: get hostname?
                                }
@@ -473,7 +480,13 @@ void rss_save_item(rss_item *ri)
                        StrBufSpaceToBlank(ri->title);
                        len = StrLength(ri->title);
                        Sbj = html_to_ascii(ChrPtr(ri->title), len, 512, 0);
-                       Encoded = NewStrBufPlain(Sbj, -1);
+                       len = strlen(Sbj);
+                       if (Sbj[len - 1] == '\n')
+                       {
+                               len --;
+                               Sbj[len] = '\0';
+                       }
+                       Encoded = NewStrBufPlain(Sbj, len);
                        free(Sbj);
 
                        StrBufTrim(Encoded);
@@ -845,6 +858,13 @@ void RSS_item_link_end (StrBuf *CData, rss_item *ri, rssnetcfg *Cfg, const char*
                StrBufTrim(ri->link);
        }
 }
+void RSS_item_relink_end(StrBuf *CData, rss_item *ri, rssnetcfg *Cfg, const char** Attr)
+{
+       if (StrLength(CData) > 0) {
+               NewStrBufDupAppendFlush(&ri->reLink, CData, NULL, 0);
+               StrBufTrim(ri->reLink);
+       }
+}
 
 void RSSATOM_item_title_end (StrBuf *CData, rss_item *ri, rssnetcfg *Cfg, const char** Attr)
 {
@@ -1319,6 +1339,12 @@ CTDL_MODULE_INIT(rssclient)
        AddRSSEndHandler(RSS_item_guid_end,        RSS_RSS|RSS_REQUIRE_BUF, HKEY("guid"));
        AddRSSEndHandler(ATOM_item_id_end,         RSS_ATOM|RSS_REQUIRE_BUF, HKEY("id"));
        AddRSSEndHandler(RSS_item_link_end,        RSS_RSS|RSS_REQUIRE_BUF, HKEY("link"));
+#if 0 
+// hm, rss to the comments of that blog, might be interesting in future, but... 
+       AddRSSEndHandler(RSS_item_relink_end,      RSS_RSS|RSS_REQUIRE_BUF, HKEY("commentrss"));
+// comment count...
+       AddRSSEndHandler(RSS_item_relink_end,      RSS_RSS|RSS_REQUIRE_BUF, HKEY("comments"));
+#endif
        AddRSSEndHandler(RSSATOM_item_title_end,   RSS_ATOM|RSS_RSS|RSS_REQUIRE_BUF, HKEY("title"));
        AddRSSEndHandler(ATOM_item_content_end,    RSS_ATOM|RSS_REQUIRE_BUF, HKEY("content"));
        AddRSSEndHandler(RSS_item_description_end, RSS_RSS|RSS_ATOM|RSS_REQUIRE_BUF, HKEY("encoded"));
index 684dc466de08889b505ed8b7fa7f0dce82d6e486..bd22f10a8f35df74d5c1a58e68c7a1e379f7ff38 100644 (file)
@@ -811,7 +811,7 @@ int GetHashAt(HashList *Hash,long At, long *HKLen, const char **HashKey, void **
 
        if ((Hash == NULL) || 
            (At < 0) || 
-           (At > Hash->nLookupTableItems))
+           (At >= Hash->nLookupTableItems))
                return 0;
        *HKLen = Hash->LookupTable[At]->HKLen;
        *HashKey = Hash->LookupTable[At]->HashKey;
index f45b158b980a8507a6b64c62c13b74743212f9de..c73e9a25613502cb228768a58cde1414679e8044 100644 (file)
@@ -199,7 +199,7 @@ void display_smtpqueue_inner_div(void) {
                        wc_printf(_("Recipients"));
                        wc_printf("</i></b></td></tr>\n");
 
-                       for (i=0; i<num_msgs; ++i) {
+                       for (i=0; (i < num_msgs) && (i < Stat.maxload); ++i) {
                                Msg = GetMessagePtrAt(i, WCC->summ);
                                if (Msg != NULL) {
                                        display_queue_msg(Msg->msgnum);