From 253e80bc4b440589ead1f756daffa66ad3a045c3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 22 Jun 2023 22:59:47 +0300 Subject: Telegram: fix for correct FirstName parsing --- protocols/Telegram/src/server.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'protocols/Telegram') diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index d40b6dc82f..b702e95177 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -786,8 +786,17 @@ void CTelegramProto::ProcessUser(TD::updateUser *pObj) } auto *pu = AddUser(pUser->id_, false); - UpdateString(pu->hContact, "FirstName", pUser->first_name_); - UpdateString(pu->hContact, "LastName", pUser->last_name_); + std::string szFirstName = pUser->first_name_, szLastName = pUser->last_name_; + if (szLastName.empty()) { + size_t p = szFirstName.rfind(' '); + if (p != -1) { + szLastName = szFirstName.substr(p + 1); + szFirstName = szFirstName.substr(0, p); + } + } + + setUString(pu->hContact, "FirstName", szFirstName.c_str()); + setUString(pu->hContact, "LastName", szLastName.c_str()); if (pu->hContact) UpdateString(pu->hContact, "Phone", pUser->phone_number_); -- cgit v1.2.3