From ef335eb2de8e33550661c7dc826f471c3405c25f Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Mon, 20 May 2013 20:15:50 +0100 Subject: Replace dodgy use of const char* and memcpy with std::string. This was backported from commit e01df63 in master. --- src/users.cpp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/users.cpp b/src/users.cpp index 91db5200a..418f2c9aa 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -1321,26 +1321,19 @@ void User::SendText(const char *text, ...) void User::SendText(const std::string &LinePrefix, std::stringstream &TextStream) { - char line[MAXBUF]; - int start_pos = LinePrefix.length(); - int pos = start_pos; - memcpy(line, LinePrefix.data(), pos); + std::string line; std::string Word; while (TextStream >> Word) { - int len = Word.length(); - if (pos + len + 12 > MAXBUF) + size_t lineLength = LinePrefix.length() + line.length() + Word.length() + 13; + if (lineLength > MAXBUF) { - line[pos] = '\0'; - SendText(std::string(line)); - pos = start_pos; + SendText(LinePrefix + line); + line.clear(); } - line[pos] = ' '; - memcpy(line + pos + 1, Word.data(), len); - pos += len + 1; + line += " " + Word; } - line[pos] = '\0'; - SendText(std::string(line)); + SendText(LinePrefix + line); } /* return 0 or 1 depending if users u and u2 share one or more common channels -- cgit v1.2.3 From d8fe6df7a7bc385a80ae3fde0e9e4a2ac12d4af3 Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Sun, 12 Oct 2014 18:38:23 +0100 Subject: Kill some logically dead code detected by Coverity. - m_watch: wl has already been confirmed to not be NULL on L161. --- src/modules/m_watch.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/modules/m_watch.cpp b/src/modules/m_watch.cpp index be05d7d2d..074ce37ad 100644 --- a/src/modules/m_watch.cpp +++ b/src/modules/m_watch.cpp @@ -163,9 +163,6 @@ class CommandWatch : public Command /* Yup, is on my list */ watchlist::iterator n = wl->find(nick); - if (!wl) - return CMD_FAILURE; - if (n != wl->end()) { if (!n->second.empty()) -- cgit v1.2.3