X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserver%2Fmodules%2Frssclient%2Fserv_rssclient.c;h=4f4db62fc07875fc0b9103cbd242a4aeb2780208;hb=7d66c47a0d5c5c1b0053409153db4a3750aa70d6;hp=66d0d13a056c20cb5ebf341c5cc7bfbc74c7e580;hpb=2c960cf424afb4038e9dfc67cb4228ee2f3e9bc2;p=citadel.git diff --git a/citadel/server/modules/rssclient/serv_rssclient.c b/citadel/server/modules/rssclient/serv_rssclient.c index 66d0d13a0..4f4db62fc 100644 --- a/citadel/server/modules/rssclient/serv_rssclient.c +++ b/citadel/server/modules/rssclient/serv_rssclient.c @@ -126,37 +126,38 @@ void rss_end_element(void *data, const char *el) { if (already_seen == 0) { // Compose the message text + // FIXME ajc 2023jan06 - this can create lines longer than 1024 characters which chokes the client message parsers StrBuf *TheMessage = NewStrBuf(); StrBufAppendPrintf(TheMessage, "Content-type: text/html\n\n" "\n\n" "" ); - + if (r->description != NULL) { StrBufAppendPrintf(TheMessage, "%s

\r\n", r->description); free(r->description); r->description = NULL; } - + if (r->link != NULL) { StrBufAppendPrintf(TheMessage, "%s\r\n", r->link, r->link); free(r->link); r->link = NULL; } - + StrBufAppendPrintf(TheMessage, "\r\n"); CM_SetField(r->msg, eMesageText, ChrPtr(TheMessage), StrLength(TheMessage)); FreeStrBuf(&TheMessage); - + if (CM_IsEmpty(r->msg, eAuthor)) { CM_SetField(r->msg, eAuthor, HKEY("rss")); } - + if (CM_IsEmpty(r->msg, eTimestamp)) { CM_SetFieldLONG(r->msg, eTimestamp, time(NULL)); } - + // Save it to the room(s) struct rssroom *rr = NULL; long msgnum = (-1); @@ -173,7 +174,7 @@ void rss_end_element(void *data, const char *el) { else { syslog(LOG_DEBUG, "rssclient: already seen %s", r->item_id); } - + CM_Free(r->msg); r->msg = NULL; }