From ab3d423b1dc514e9db61c170ca14bab49e5280cb Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 26 Jan 2024 23:34:30 +0300 Subject: major atavism, PROTORECVEVENT, died with its own set of constants --- protocols/Telegram/src/server.cpp | 49 ++++++++++++++------------------------- 1 file changed, 18 insertions(+), 31 deletions(-) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index 8fd72e3e59..8c39fe9a0f 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -787,40 +787,27 @@ void CTelegramProto::ProcessMessage(const TD::message *pMessage) Contact::RemoveFromList(pUser->hContact); } - if (hOldEvent) { - DB::EventInfo dbei(hOldEvent); - mir_free(dbei.pBlob); - dbei.cbBlob = szText.GetLength(); - dbei.pBlob = szText.GetBuffer(); - dbei.timestamp = pMessage->date_; - if (pMessage->is_outgoing_) - dbei.flags |= DBEF_SENT; - if (!pUser->bInited) - dbei.flags |= DBEF_READ; - if (GetGcUserId(pUser, pMessage, szUserId)) - dbei.szUserId = szUserId; - if (pMessage->reply_to_message_id_) { - szReplyId = msg2id(pMessage->chat_id_, pMessage->reply_to_message_id_); - dbei.szReplyId = szReplyId; - } + DB::EventInfo dbei(hOldEvent); + dbei.cbBlob = szText.GetLength(); + dbei.timestamp = pMessage->date_; + if (pMessage->is_outgoing_) + dbei.flags |= DBEF_SENT; + if (!pUser->bInited) + dbei.flags |= DBEF_READ; + if (GetGcUserId(pUser, pMessage, szUserId)) + dbei.szUserId = szUserId; + if (pMessage->reply_to_message_id_) { + szReplyId = msg2id(pMessage->chat_id_, pMessage->reply_to_message_id_); + dbei.szReplyId = szReplyId; + } + + if (dbei) { + replaceStr(dbei.pBlob, szText.Detach()); db_event_edit(hOldEvent, &dbei, true); } else { - PROTORECVEVENT pre = {}; - pre.szMessage = szText.GetBuffer(); - pre.szMsgId = szMsgId; - pre.timestamp = pMessage->date_; - if (pMessage->is_outgoing_) - pre.flags |= PREF_SENT; - if (!pUser->bInited) - pre.flags |= PREF_CREATEREAD; - if (GetGcUserId(pUser, pMessage, szUserId)) - pre.szUserId = szUserId; - if (pMessage->reply_to_message_id_) { - szReplyId = msg2id(pMessage->chat_id_, pMessage->reply_to_message_id_); - pre.szReplyId = szReplyId; - } - ProtoChainRecvMsg(GetRealContact(pUser), &pre); + dbei.pBlob = szText.GetBuffer(); + ProtoChainRecvMsg(GetRealContact(pUser), dbei); } } -- cgit v1.2.3