X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Frssclient%2Fserv_rssclient.c;fp=citadel%2Fmodules%2Frssclient%2Fserv_rssclient.c;h=6ace63fa09d5d21e9901c0dc4bb33023d8024aa1;hp=2b1baa5d9b14f014a6677f3d8e355729bcea1fe0;hb=3caa16d921d50adbdff4be1c89e982dab7589fd4;hpb=83b162e34bdb8474a872ae531b56c4cbb934a9a6 diff --git a/citadel/modules/rssclient/serv_rssclient.c b/citadel/modules/rssclient/serv_rssclient.c index 2b1baa5d9..6ace63fa0 100644 --- a/citadel/modules/rssclient/serv_rssclient.c +++ b/citadel/modules/rssclient/serv_rssclient.c @@ -119,6 +119,7 @@ void rss_end_element(void *data, const char *el) { struct rssparser *r = (struct rssparser *)data; + syslog(LOG_DEBUG, "end: %s", el); if ( // end of a new item(rss) or entry(atom) (!strcasecmp(el, "entry")) || (!strcasecmp(el, "item")) @@ -213,7 +214,7 @@ void rss_end_element(void *data, const char *el) } else if (!strcasecmp(el, "pubdate")) { // date/time stamp (rss) Sat, 25 Feb 2017 14:28:01 EST - if (CM_IsEmpty(r->msg, eTimestamp)) { + if ((r->msg)&&(r->msg->cm_fields[eTimestamp]==NULL)) { CM_SetFieldLONG(r->msg, eTimestamp, parsedate(ChrPtr(r->CData))); } } @@ -284,7 +285,7 @@ void rss_parse_feed(StrBuf *Feed, struct rssroom *rooms) memset(&r, 0, sizeof r); r.rooms = rooms; - XML_Parser p = XML_ParserCreateNS("UTF-8", ':'); + XML_Parser p = XML_ParserCreate("UTF-8"); XML_SetElementHandler(p, rss_start_element, rss_end_element); XML_SetCharacterDataHandler(p, rss_handle_data); XML_SetUserData(p, (void *)&r);