X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fsmtp%2Fserv_smtpeventclient.c;h=3874bf8f47d57de55e818d95a431ab58df4572cb;hb=ddce5a2c74a3a0df662b38a510b44cf319c9d3ab;hp=3be726e8503e40848a96e85f117947f75685232f;hpb=292aaf708967cb105ab014d1b4e5fe4ab0b342d8;p=citadel.git diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index 3be726e85..3874bf8f4 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -127,6 +127,7 @@ void DeleteSmtpOutMsg(void *v) Msg->HostLookup.DNSReplyFree(Msg->HostLookup.VParsedDNSReply); FreeURL(&Msg->Relay); FreeStrBuf(&Msg->msgtext); + FreeStrBuf(&Msg->MultiLineBuf); FreeAsyncIOContents(&Msg->IO); memset (Msg, 0, sizeof(SmtpOutMsg)); /* just to be shure... */ free(Msg); @@ -864,7 +865,16 @@ eReadState SMTP_C_ReadServerStatus(AsyncIO *IO) if (StrLength(IO->IOBuf) < 4) continue; if (ChrPtr(IO->IOBuf)[3] == '-') + { + SmtpOutMsg *Msg; + Msg = (SmtpOutMsg *)IO->Data; + if (Msg->MultiLineBuf == NULL) + Msg->MultiLineBuf = NewStrBuf (); + else + StrBufAppendBufPlain(Msg->MultiLineBuf, HKEY("\n"), 0); + StrBufAppendBuf(Msg->MultiLineBuf, IO->IOBuf, 0); Finished = eBufferNotEmpty; + } else return Finished; break;