X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmsgbase.c;h=21c1aabb41bb16ff61581832b76673965439f7c0;hb=18debdb7279e0c800a5a2f2a1f8b79f97cd4f4e4;hp=1fff6dc474d891ef3a838937d1d109f877a3f87f;hpb=b498f06a2b5242976387ca04ef9712e00f81dbb7;p=citadel.git diff --git a/citadel/msgbase.c b/citadel/msgbase.c index 1fff6dc47..21c1aabb4 100644 --- a/citadel/msgbase.c +++ b/citadel/msgbase.c @@ -1165,7 +1165,7 @@ struct CtdlMessage *CtdlFetchMessage(long msgnum, int with_body) if ( (CM_IsEmpty(ret, eMesageText)) && (with_body) ) { dmsgtext = cdb_fetch(CDB_BIGMSGS, &msgnum, sizeof(long)); if (dmsgtext != NULL) { - CM_SetAsField(ret, eMesageText, &dmsgtext->ptr, dmsgtext->len); + CM_SetAsField(ret, eMesageText, &dmsgtext->ptr, dmsgtext->len - 1); cdb_free(dmsgtext); } } @@ -3436,6 +3436,7 @@ struct CtdlMessage *CtdlMakeMessageLen( } StrBufRFC2047encode(&FakeEncAuthor, FakeAuthor); CM_SetAsFieldSB(msg, eAuthor, &FakeEncAuthor); + FreeStrBuf(&FakeAuthor); if (CCC->room.QRflags & QR_MAILBOX) { /* room */ CM_SetField(msg, eOriginalRoom, &CCC->room.QRname[11], strlen(&CCC->room.QRname[11])); @@ -3496,9 +3497,10 @@ struct CtdlMessage *CtdlMakeMessageLen( CM_SetField(msg, eMesageText, preformatted_text, textlen); } else { - preformatted_text = CtdlReadMessageBody(HKEY("000"), config.c_maxmsglen, NULL, 0, 0); - if (preformatted_text != NULL) { - CM_SetField(msg, eMesageText, preformatted_text, strlen(preformatted_text)); + StrBuf *MsgBody; + MsgBody = CtdlReadMessageBodyBuf(HKEY("000"), config.c_maxmsglen, NULL, 0, 0); + if (MsgBody != NULL) { + CM_SetAsFieldSB(msg, eMesageText, &MsgBody); } }