diff --git a/tdutils/td/utils/emoji.cpp b/tdutils/td/utils/emoji.cpp index f555070ec..c5f47d8ac 100644 --- a/tdutils/td/utils/emoji.cpp +++ b/tdutils/td/utils/emoji.cpp @@ -277,7 +277,9 @@ void remove_emoji_modifiers_in_place(string &emoji) { emoji[j++] = emoji[i++]; } } - emoji.resize(j); + if (j != 0) { + emoji.resize(j); + } } string remove_emoji_selectors(Slice emoji) { diff --git a/tdutils/test/emoji.cpp b/tdutils/test/emoji.cpp index fa0a4e12c..c8e6539a9 100644 --- a/tdutils/test/emoji.cpp +++ b/tdutils/test/emoji.cpp @@ -76,11 +76,11 @@ TEST(Emoji, remove_emoji_modifiers) { test_remove_emoji_modifiers("👋🏽", "👋"); test_remove_emoji_modifiers("👋🏾", "👋"); test_remove_emoji_modifiers("👋🏿", "👋"); - test_remove_emoji_modifiers("🏻", ""); - test_remove_emoji_modifiers("🏼", ""); - test_remove_emoji_modifiers("🏽", ""); - test_remove_emoji_modifiers("🏾", ""); - test_remove_emoji_modifiers("🏿", ""); + test_remove_emoji_modifiers("🏻", "🏻"); + test_remove_emoji_modifiers("🏼", "🏼"); + test_remove_emoji_modifiers("🏽", "🏽"); + test_remove_emoji_modifiers("🏾", "🏾"); + test_remove_emoji_modifiers("🏿", "🏿"); test_remove_emoji_modifiers("⌚", "⌚"); test_remove_emoji_modifiers("↔", "↔"); test_remove_emoji_modifiers("🪗", "🪗"); @@ -89,6 +89,9 @@ TEST(Emoji, remove_emoji_modifiers) { test_remove_emoji_modifiers("❤️", "❤"); test_remove_emoji_modifiers("❤", "❤"); test_remove_emoji_modifiers("⌚", "⌚"); + test_remove_emoji_modifiers("️", "️"); + test_remove_emoji_modifiers("️️️🏻", "️️️🏻"); + test_remove_emoji_modifiers("️️️🏻a", "a"); test_remove_emoji_modifiers("🎄", "🎄"); test_remove_emoji_modifiers("🧑‍🎄", "🧑‍🎄"); }