diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp index 38a58785e2d..17dc006798e 100644 --- a/src/engine/client/client.cpp +++ b/src/engine/client/client.cpp @@ -1585,11 +1585,10 @@ void CClient::ProcessServerPacket(CNetChunk *pPacket, int Conn, bool Dummy) { return; } - char aAddr[128]; - char aIp[64]; + char aAddr[NETADDR_MAXSTRSIZE]; NETADDR ServerAddr = ServerAddress(); - net_addr_str(&ServerAddr, aIp, sizeof(aIp), 0); - str_format(aAddr, sizeof(aAddr), "%s:%d", aIp, RedirectPort); + ServerAddr.port = RedirectPort; + net_addr_str(&ServerAddr, aAddr, sizeof(aAddr), true); Connect(aAddr); } else if(Conn == CONN_MAIN && (pPacket->m_Flags & NET_CHUNKFLAG_VITAL) != 0 && Msg == NETMSG_RCON_CMD_ADD) diff --git a/src/game/client/components/menus.cpp b/src/game/client/components/menus.cpp index e77e29242c4..3dd902c74e7 100644 --- a/src/game/client/components/menus.cpp +++ b/src/game/client/components/menus.cpp @@ -1433,7 +1433,9 @@ void CMenus::RenderPopupFullscreen(CUIRect Screen) static CButtonContainer s_ButtonTryAgain; if(DoButton_Menu(&s_ButtonTryAgain, Localize("Try again"), 0, &TryAgain) || Ui()->ConsumeHotkey(CUi::HOTKEY_ENTER)) { - Client()->Connect(g_Config.m_UiServerAddress, g_Config.m_Password); + char aAddr[NETADDR_MAXSTRSIZE]; + net_addr_str(&Client()->ServerAddress(), aAddr, sizeof(aAddr), true); + Client()->Connect(aAddr, g_Config.m_Password); } Box.HSplitBottom(60.f, &Box, &Part);