From 7dd0b0dc07d4d5323ad229b064c5fd9e1fd44f61 Mon Sep 17 00:00:00 2001 From: smatz Date: Mon, 3 Nov 2008 12:03:00 +0000 Subject: [PATCH] (svn r14560) -Fix [FS#2396](r14555): lengthof() can't be simply replaced by lastof() in some cases (part by Aali) --- src/network/network_server.cpp | 6 +++--- src/unix.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 14d2412438..3d69cbc022 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1372,7 +1372,7 @@ void NetworkPopulateCompanyInfo() ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX); // Register local company (if not dedicated) if (ci != NULL && IsValidCompanyID(ci->client_playas)) - strecpy(_network_company_info[ci->client_playas].clients, ci->client_name, lastof(_network_company_info[0].clients)); + strecpy(_network_company_info[ci->client_playas].clients, ci->client_name, lastof(_network_company_info[ci->client_playas].clients)); FOR_ALL_CLIENTS(cs) { char client_name[NETWORK_CLIENT_NAME_LENGTH]; @@ -1382,10 +1382,10 @@ void NetworkPopulateCompanyInfo() ci = DEREF_CLIENT_INFO(cs); if (ci != NULL && IsValidCompanyID(ci->client_playas)) { if (!StrEmpty(_network_company_info[ci->client_playas].clients)) { - strecat(_network_company_info[ci->client_playas].clients, ", ", lastof(_network_company_info[0].clients)); + strecat(_network_company_info[ci->client_playas].clients, ", ", lastof(_network_company_info[ci->client_playas].clients)); } - strecat(_network_company_info[ci->client_playas].clients, client_name, lastof(_network_company_info[0].clients)); + strecat(_network_company_info[ci->client_playas].clients, client_name, lastof(_network_company_info[ci->client_playas].clients)); } } } diff --git a/src/unix.cpp b/src/unix.cpp index 2e62b63997..047a7bda68 100644 --- a/src/unix.cpp +++ b/src/unix.cpp @@ -154,7 +154,7 @@ static const char *convert_tofrom_fs(iconv_t convd, const char *name) size_t outlen = sizeof(buf) - 1; size_t inlen = strlen(name); - strecpy(outbuf, name, lastof(buf)); + strecpy(outbuf, name, outbuf + outlen); iconv(convd, NULL, NULL, NULL, NULL); if (iconv(convd, &inbuf, &inlen, &outbuf, &outlen) == (size_t)(-1)) {