void MessengerManager::RemoveFromList(MessengerManager::keyA account, MessengerManager::keyA companion)
{
if (companion.empty())
return;
char companionEscaped[CHARACTER_NAME_MAX_LEN * 2 + 1];
DBManager::instance().EscapeString(companionEscaped, sizeof(companionEscaped), companion.c_str(), companion.length());
DBManager::instance().Query("DELETE FROM messenger_list%s WHERE account='%s' AND companion = '%s'",
get_table_postfix(), account.c_str(), companionEscaped);
__RemoveFromList(account, companion);
sys_log(1, "Messenger Remove %s %s", account.c_str(), companion.c_str());
TPacketGGMessenger pack;
pack.bHeader = HEADER_GG_MESSENGER_REMOVE;
strlcpy(pack.szAccount, account.c_str(), sizeof(pack.szAccount));
strlcpy(pack.szCompanion, companion.c_str(), sizeof(pack.szCompanion));
P2P_MANAGER::instance().Send(&pack, sizeof(TPacketGGMessenger));