/*
* Bring external RSS feeds into rooms.
*
- * Copyright (c) 2007-2012 by the citadel.org team
+ * Copyright (c) 2007-2016 by the citadel.org team
*
* This program is open source software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3.
CM_SetField(&SaveMsg->Msg, eAuthor, HKEY("rss"));
}
- CM_SetField(&SaveMsg->Msg, eNodeName, CFG_KEY(c_nodename));
+ CM_SetField(&SaveMsg->Msg, eNodeName, CtdlGetConfigStr("c_nodename"), strlen(CtdlGetConfigStr("c_nodename")));
if (SaveMsg->title != NULL) {
long len;
char *Sbj;
StrBufSpaceToBlank(SaveMsg->title);
len = StrLength(SaveMsg->title);
Sbj = html_to_ascii(ChrPtr(SaveMsg->title), len, 512, 0);
- len = strlen(Sbj);
- if ((len > 0) && (Sbj[len - 1] == '\n'))
- {
- len --;
- Sbj[len] = '\0';
- }
- Encoded = NewStrBufPlain(Sbj, len);
- free(Sbj);
-
- StrBufTrim(Encoded);
- StrBufRFC2047encode(&QPEncoded, Encoded);
+ if (!IsEmptyStr(Sbj)) {
+ len = strlen(Sbj);
+ if ((Sbj[len - 1] == '\n'))
+ {
+ len --;
+ Sbj[len] = '\0';
+ }
+ Encoded = NewStrBufPlain(Sbj, len);
+
- CM_SetAsFieldSB(&SaveMsg->Msg, eMsgSubject, &QPEncoded);
- FreeStrBuf(&Encoded);
+ StrBufTrim(Encoded);
+ StrBufRFC2047encode(&QPEncoded, Encoded);
+
+ CM_SetAsFieldSB(&SaveMsg->Msg, eMsgSubject, &QPEncoded);
+ FreeStrBuf(&Encoded);
+ }
+ if (Sbj != NULL) {
+ free(Sbj);
+ }
}
if (SaveMsg->link == NULL)
SaveMsg->link = NewStrBufPlain(HKEY(""));
void UpdateLastKnownGood(pRSSConfig *pCfg, time_t now)
{
- OneRoomNetCfg* pRNCfg;
+ OneRoomNetCfg *pRNCfg;
begin_critical_section(S_NETCONFIGS);
- pRNCfg = CtdlGetNetCfgForRoom (pCfg->QRnumber);
+ pRNCfg = CtdlGetNetCfgForRoom(pCfg->QRnumber);
if (pRNCfg != NULL)
{
RSSCfgLine *RSSCfg = (RSSCfgLine *)pRNCfg->NetConfigs[rssclient];
}
}
+ SaveRoomNetConfigFile(pRNCfg, pCfg->QRnumber);
+ FreeRoomNetworkStruct(&pRNCfg);
end_critical_section(S_NETCONFIGS);
}
guid,
EvGetNow(IO),
EvGetNow(IO) - USETABLE_ANTIEXPIRE,
- eCheckUpdate,
+ eUpdate,
CCID, IO->ID)
!= 0)
{
rss_aggregator *use_this_RSSAggr = NULL;
void *vptr;
+ TRACE;
+
pthread_mutex_lock(&RSSQueueMutex);
if (GetHash(RSSQueueRooms, LKEY(qrbuf->QRnumber), &vptr))
{