Skip to content

Commit b1044c9

Browse files
committed
Don't check received from server strings for emptiness.
1 parent 4e08521 commit b1044c9

File tree

9 files changed

+22
-24
lines changed

9 files changed

+22
-24
lines changed

td/telegram/DraftMessage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ DraftMessage::DraftMessage(Td *td, telegram_api::object_ptr<telegram_api::draftM
409409
date_ = draft_message->date_;
410410
message_input_reply_to_ = MessageInputReplyTo(td, std::move(draft_message->reply_to_));
411411
auto draft_text = get_formatted_text(td->user_manager_.get(), std::move(draft_message->message_),
412-
std::move(draft_message->entities_), true, true, true, "DraftMessage");
412+
std::move(draft_message->entities_), true, true, "DraftMessage");
413413
string web_page_url;
414414
bool force_small_media = false;
415415
bool force_large_media = false;

td/telegram/LinkManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,7 @@ class GetDeepLinkInfoQuery final : public Td::ResultHandler {
848848
return promise_.set_value(nullptr);
849849
case telegram_api::help_deepLinkInfo::ID: {
850850
auto info = telegram_api::move_object_as<telegram_api::help_deepLinkInfo>(result);
851-
auto text = get_formatted_text(nullptr, std::move(info->message_), std::move(info->entities_), true, true, true,
851+
auto text = get_formatted_text(nullptr, std::move(info->message_), std::move(info->entities_), true, true,
852852
"GetDeepLinkInfoQuery");
853853
return promise_.set_value(
854854
td_api::make_object<td_api::deepLinkInfo>(get_formatted_text_object(text, true, -1), info->update_app_));

td/telegram/MessageContent.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2472,7 +2472,7 @@ InlineMessageContent create_inline_message_content(Td *td, FileId file_id,
24722472
case telegram_api::botInlineMessageText::ID: {
24732473
auto inline_message = move_tl_object_as<telegram_api::botInlineMessageText>(bot_inline_message);
24742474
auto text = get_formatted_text(td->user_manager_.get(), std::move(inline_message->message_),
2475-
std::move(inline_message->entities_), false, false, false, "botInlineMessageText");
2475+
std::move(inline_message->entities_), false, false, "botInlineMessageText");
24762476
result.disable_web_page_preview = inline_message->no_webpage_;
24772477
result.invert_media = inline_message->invert_media_;
24782478
WebPageId web_page_id;
@@ -2490,9 +2490,9 @@ InlineMessageContent create_inline_message_content(Td *td, FileId file_id,
24902490
if (inline_message->manual_) {
24912491
web_page_url = std::move(inline_message->url_);
24922492
}
2493-
auto text = get_formatted_text(td->user_manager_.get(), std::move(inline_message->message_),
2494-
std::move(inline_message->entities_), !web_page_url.empty(), false, false,
2495-
"botInlineMessageMediaWebPage");
2493+
auto text =
2494+
get_formatted_text(td->user_manager_.get(), std::move(inline_message->message_),
2495+
std::move(inline_message->entities_), false, false, "botInlineMessageMediaWebPage");
24962496
auto web_page_id =
24972497
td->web_pages_manager_->get_web_page_by_url(web_page_url.empty() ? get_first_url(text).str() : web_page_url);
24982498
result.message_content = td::make_unique<MessageText>(

td/telegram/MessageEntity.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3933,9 +3933,9 @@ telegram_api::object_ptr<telegram_api::textWithEntities> get_input_text_with_ent
39333933

39343934
FormattedText get_formatted_text(const UserManager *user_manager, string &&text,
39353935
vector<telegram_api::object_ptr<telegram_api::MessageEntity>> &&server_entities,
3936-
bool allow_empty, bool skip_media_timestamps, bool skip_trim, const char *source) {
3936+
bool skip_media_timestamps, bool skip_trim, const char *source) {
39373937
auto entities = get_message_entities(user_manager, std::move(server_entities), source);
3938-
auto status = fix_formatted_text(text, entities, allow_empty, true, true, skip_media_timestamps, skip_trim);
3938+
auto status = fix_formatted_text(text, entities, true, true, true, skip_media_timestamps, skip_trim);
39393939
if (status.is_error()) {
39403940
LOG(ERROR) << "Receive error " << status << " from " << source << " while parsing \"" << text << "\"("
39413941
<< hex_encode(text) << ')';
@@ -3949,11 +3949,10 @@ FormattedText get_formatted_text(const UserManager *user_manager, string &&text,
39493949

39503950
FormattedText get_formatted_text(const UserManager *user_manager,
39513951
telegram_api::object_ptr<telegram_api::textWithEntities> text_with_entities,
3952-
bool allow_empty, bool skip_media_timestamps, bool skip_trim, const char *source) {
3952+
bool skip_media_timestamps, bool skip_trim, const char *source) {
39533953
CHECK(text_with_entities != nullptr);
39543954
return get_formatted_text(user_manager, std::move(text_with_entities->text_),
3955-
std::move(text_with_entities->entities_), allow_empty, skip_media_timestamps, skip_trim,
3956-
source);
3955+
std::move(text_with_entities->entities_), skip_media_timestamps, skip_trim, source);
39573956
}
39583957

39593958
// like clean_input_string but also fixes entities

td/telegram/MessageEntity.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,11 +217,11 @@ telegram_api::object_ptr<telegram_api::textWithEntities> get_input_text_with_ent
217217

218218
FormattedText get_formatted_text(const UserManager *user_manager, string &&text,
219219
vector<telegram_api::object_ptr<telegram_api::MessageEntity>> &&server_entities,
220-
bool allow_empty, bool skip_media_timestamps, bool skip_trim, const char *source);
220+
bool skip_media_timestamps, bool skip_trim, const char *source);
221221

222222
FormattedText get_formatted_text(const UserManager *user_manager,
223223
telegram_api::object_ptr<telegram_api::textWithEntities> text_with_entities,
224-
bool allow_empty, bool skip_media_timestamps, bool skip_trim, const char *source);
224+
bool skip_media_timestamps, bool skip_trim, const char *source);
225225

226226
void fix_entities(vector<MessageEntity> &entities);
227227

td/telegram/MessageQuote.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@ MessageQuote::MessageQuote(Td *td,
2828
if (input_reply_to_message->quote_text_.empty()) {
2929
return;
3030
}
31-
text_ =
32-
get_formatted_text(td->user_manager_.get(), std::move(input_reply_to_message->quote_text_),
33-
std::move(input_reply_to_message->quote_entities_), true, true, false, "inputReplyToMessage");
31+
text_ = get_formatted_text(td->user_manager_.get(), std::move(input_reply_to_message->quote_text_),
32+
std::move(input_reply_to_message->quote_entities_), true, false, "inputReplyToMessage");
3433
remove_unallowed_quote_entities(text_);
3534
position_ = max(0, input_reply_to_message->quote_offset_);
3635
}
@@ -41,7 +40,7 @@ MessageQuote::MessageQuote(Td *td, telegram_api::object_ptr<telegram_api::messag
4140
return;
4241
}
4342
text_ = get_formatted_text(td->user_manager_.get(), std::move(reply_header->quote_text_),
44-
std::move(reply_header->quote_entities_), true, true, false, "messageReplyHeader");
43+
std::move(reply_header->quote_entities_), true, false, "messageReplyHeader");
4544
remove_unallowed_quote_entities(text_);
4645
position_ = max(0, reply_header->quote_offset_);
4746
is_manual_ = reply_header->quote_;

td/telegram/PollManager.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1575,7 +1575,7 @@ vector<PollManager::PollOption> PollManager::get_poll_options(
15751575
vector<telegram_api::object_ptr<telegram_api::pollAnswer>> &&poll_options) {
15761576
return transform(std::move(poll_options), [](telegram_api::object_ptr<telegram_api::pollAnswer> &&poll_option) {
15771577
PollOption option;
1578-
option.text_ = get_formatted_text(nullptr, std::move(poll_option->text_), false, true, true, "get_poll_options");
1578+
option.text_ = get_formatted_text(nullptr, std::move(poll_option->text_), true, true, "get_poll_options");
15791579
remove_unallowed_entities(option.text_);
15801580
option.data_ = poll_option->option_.as_slice().str();
15811581
return option;
@@ -1686,7 +1686,7 @@ PollId PollManager::on_get_poll(PollId poll_id, tl_object_ptr<telegram_api::poll
16861686
}
16871687
is_changed = true;
16881688
}
1689-
auto question = get_formatted_text(nullptr, std::move(poll_server->question_), false, true, true, "on_get_poll");
1689+
auto question = get_formatted_text(nullptr, std::move(poll_server->question_), true, true, "on_get_poll");
16901690
remove_unallowed_entities(question);
16911691
if (poll->question_ != question) {
16921692
poll->question_ = std::move(question);
@@ -1833,7 +1833,7 @@ PollId PollManager::on_get_poll(PollId poll_id, tl_object_ptr<telegram_api::poll
18331833
}
18341834

18351835
auto explanation = get_formatted_text(td_->user_manager_.get(), std::move(poll_results->solution_),
1836-
std::move(poll_results->solution_entities_), true, true, false, source);
1836+
std::move(poll_results->solution_entities_), true, false, source);
18371837
if (poll->is_quiz_) {
18381838
if (poll->correct_option_id_ != correct_option_id) {
18391839
if (correct_option_id == -1 && poll->correct_option_id_ != -1) {

td/telegram/TermsOfService.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ TermsOfService::TermsOfService(telegram_api::object_ptr<telegram_api::help_terms
9494
}
9595

9696
id_ = std::move(terms->id_->data_);
97-
text_ = get_formatted_text(nullptr, std::move(terms->text_), std::move(terms->entities_), true, true, false,
98-
"TermsOfService");
97+
text_ =
98+
get_formatted_text(nullptr, std::move(terms->text_), std::move(terms->entities_), true, false, "TermsOfService");
9999
if (text_.text.empty()) {
100100
id_.clear();
101101
}

td/telegram/TranslationManager.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ void TranslationManager::on_get_translated_texts(vector<telegram_api::object_ptr
119119
if (texts.size() != 1u) {
120120
return promise.set_error(Status::Error(500, "Receive invalid number of results"));
121121
}
122-
auto formatted_text = get_formatted_text(td_->user_manager_.get(), std::move(texts[0]), true,
123-
max_media_timestamp == -1, true, "on_get_translated_texts");
122+
auto formatted_text = get_formatted_text(td_->user_manager_.get(), std::move(texts[0]), max_media_timestamp == -1,
123+
true, "on_get_translated_texts");
124124
promise.set_value(get_formatted_text_object(formatted_text, skip_bot_commands, max_media_timestamp));
125125
}
126126

0 commit comments

Comments
 (0)