diff options
author | rubidium <rubidium@openttd.org> | 2010-12-05 22:21:13 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-12-05 22:21:13 +0000 |
commit | 9139a6c858a6af95e2fd9a1abacec520c62a8bd0 (patch) | |
tree | aaf375eb0eff1ab12871d8867f80a23941a94b01 /src/network/network_server.cpp | |
parent | 440a529701a8a838cab57d41d97b9c0bfad0d43d (diff) | |
download | openttd-9139a6c858a6af95e2fd9a1abacec520c62a8bd0.tar.xz |
(svn r21405) -Codechange: prepare sending of company information in the UDP packet for longer company names (in bytes), by truncating the names if needed
Diffstat (limited to 'src/network/network_server.cpp')
-rw-r--r-- | src/network/network_server.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 39da21632..791d766d7 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1373,12 +1373,21 @@ DEF_GAME_RECEIVE_COMMAND(Server, PACKET_CLIENT_MOVE) return NETWORK_RECV_STATUS_OKAY; } -void NetworkSocketHandler::SendCompanyInformation(Packet *p, const Company *c, const NetworkCompanyStats *stats) +/** + * Package some generic company information into a packet. + * @param p The packet that will contain the data. + * @param c The company to put the of into the packet. + * @param stats The statistics to put in the packet. + * @param max_len The maximum length of the company name. + */ +void NetworkSocketHandler::SendCompanyInformation(Packet *p, const Company *c, const NetworkCompanyStats *stats, uint max_len) { /* Grab the company name */ char company_name[NETWORK_COMPANY_NAME_LENGTH]; SetDParam(0, c->index); - GetString(company_name, STR_COMPANY_NAME, lastof(company_name)); + + assert(max_len <= lengthof(company_name)); + GetString(company_name, STR_COMPANY_NAME, company_name + max_len - 1); /* Get the income */ Money income = 0; |