From e90b2649b651e3ede41a2a40e70ab79ea4270dfe Mon Sep 17 00:00:00 2001 From: rubidium42 Date: Fri, 14 May 2021 17:43:23 +0200 Subject: Codechange: [Network] Let NetworkCompanyInfo use std::string --- src/network/network_client.cpp | 4 ++-- src/network/network_gui.cpp | 4 ++-- src/network/network_gui.h | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/network') diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 8cbe76e18..78670aa94 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -618,7 +618,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_COMPANY_INFO(Pa NetworkCompanyInfo *company_info = GetLobbyCompanyInfo(current); if (company_info == nullptr) return NETWORK_RECV_STATUS_CLOSE_QUERY; - p->Recv_string(company_info->company_name, sizeof(company_info->company_name)); + company_info->company_name = p->Recv_string(NETWORK_COMPANY_NAME_LENGTH); company_info->inaugurated_year = p->Recv_uint32(); company_info->company_value = p->Recv_uint64(); company_info->money = p->Recv_uint64(); @@ -633,7 +633,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_COMPANY_INFO(Pa } company_info->ai = p->Recv_bool(); - p->Recv_string(company_info->clients, sizeof(company_info->clients)); + company_info->clients = p->Recv_string(NETWORK_CLIENTS_LENGTH); SetWindowDirty(WC_NETWORK_WINDOW, WN_NETWORK_WINDOW_LOBBY); diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index 8dec56a6d..f0c28530a 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -1283,7 +1283,7 @@ struct NetworkLobbyWindow : public Window { { /* Scroll through all this->company_info and get the 'pos' item that is not empty. */ for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) { - if (!StrEmpty(this->company_info[i].company_name)) { + if (!this->company_info[i].company_name.empty()) { if (pos-- == 0) return i; } } @@ -1398,7 +1398,7 @@ struct NetworkLobbyWindow : public Window { GfxFillRect(r.left + 1, r.top + 1, r.right - 1, r.top + detail_height - 1, PC_DARK_BLUE); DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, r.top + 12, STR_NETWORK_GAME_LOBBY_COMPANY_INFO, TC_FROMSTRING, SA_HOR_CENTER); - if (this->company == INVALID_COMPANY || StrEmpty(this->company_info[this->company].company_name)) return; + if (this->company == INVALID_COMPANY || this->company_info[this->company].company_name.empty()) return; int y = r.top + detail_height + 4; const NetworkGameInfo *gi = &this->server->info; diff --git a/src/network/network_gui.h b/src/network/network_gui.h index f435efbcd..855d7d53c 100644 --- a/src/network/network_gui.h +++ b/src/network/network_gui.h @@ -27,14 +27,14 @@ void ShowNetworkCompanyPasswordWindow(Window *parent); /** Company information stored at the client side */ struct NetworkCompanyInfo : NetworkCompanyStats { - char company_name[NETWORK_COMPANY_NAME_LENGTH]; ///< Company name - Year inaugurated_year; ///< What year the company started in - Money company_value; ///< The company value - Money money; ///< The amount of money the company has - Money income; ///< How much did the company earned last year - uint16 performance; ///< What was their performance last month? - bool use_password; ///< Is there a password - char clients[NETWORK_CLIENTS_LENGTH]; ///< The clients that control this company (Name1, name2, ..) + std::string company_name; ///< Company name + Year inaugurated_year; ///< What year the company started in + Money company_value; ///< The company value + Money money; ///< The amount of money the company has + Money income; ///< How much did the company earn last year + uint16 performance; ///< What was his performance last month? + bool use_password; ///< Is there a password + std::string clients; ///< The clients that control this company (Name1, name2, ..) }; NetworkCompanyInfo *GetLobbyCompanyInfo(CompanyID company); -- cgit v1.2.3-54-g00ecf