common/Crypto.cpp | 8 ++-- common/FileUtil.cpp | 4 +- common/JsonUtil.hpp | 4 +- common/LOOLWebSocket.hpp | 6 +-- common/Log.cpp | 4 +- common/MessageQueue.cpp | 17 +++++--- common/Seccomp.cpp | 12 +++--- common/Session.cpp | 4 +- common/SigUtil.cpp | 2 - common/Util.cpp | 6 +-- common/Util.hpp | 4 +- kit/ChildSession.cpp | 6 +-- kit/Delta.hpp | 6 +-- kit/ForKit.cpp | 10 ++--- kit/Kit.cpp | 38 ++++++++++---------- kit/KitHelper.hpp | 4 +- net/DelaySocket.cpp | 28 +++++++------- net/FakeSocket.cpp | 24 ++++++------ net/ServerSocket.hpp | 2 - net/Socket.cpp | 36 +++++++++---------- net/Socket.hpp | 36 +++++++++---------- net/Ssl.cpp | 6 +-- net/WebSocketHandler.hpp | 48 ++++++++++++------------- net/clientnb.cpp | 10 ++--- test/DeltaTests.cpp | 12 +++--- test/TileCacheTests.cpp | 16 ++++---- test/UnitAdmin.cpp | 2 - test/UnitClient.cpp | 2 - test/UnitConvert.cpp | 2 - test/UnitCopyPaste.cpp | 18 ++++----- test/UnitHTTP.cpp | 7 ++- test/UnitSession.cpp | 2 - test/UnitTyping.cpp | 10 ++--- test/UnitUNOCommand.cpp | 2 - test/countloolkits.hpp | 2 - test/fakesockettest.cpp | 2 - test/helpers.hpp | 8 ++-- test/lokassert.hpp | 2 - tools/Config.cpp | 10 ++--- tools/Connect.cpp | 2 - tools/KitClient.cpp | 2 - tools/Replay.hpp | 4 +- tools/Tool.cpp | 6 +-- tools/WebSocketDump.cpp | 10 ++--- tools/map.cpp | 2 - wsd/Admin.cpp | 10 ++--- wsd/AdminModel.cpp | 22 +++++------ wsd/ClientSession.cpp | 12 +++--- wsd/DocumentBroker.cpp | 38 ++++++++++---------- wsd/FileServer.cpp | 15 +++---- wsd/LOOLWSD.cpp | 89 +++++++++++++++++++++++------------------------ wsd/LOOLWSD.hpp | 4 +- wsd/ProxyProtocol.cpp | 6 +-- wsd/ProxyProtocol.hpp | 8 ++-- wsd/RequestDetails.hpp | 2 - wsd/SenderQueue.hpp | 6 +-- wsd/ServerURL.hpp | 8 ++-- wsd/Storage.cpp | 26 ++++++------- wsd/TileCache.cpp | 10 ++--- wsd/TileDesc.hpp | 4 +- 60 files changed, 356 insertions(+), 352 deletions(-)
New commits: commit 224ef08c7f6c9cf2a88fbf156225f04cac2eabeb Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> AuthorDate: Sun May 24 09:10:18 2020 -0400 Commit: Ashod Nakashian <ashnak...@gmail.com> CommitDate: Tue Jun 2 01:31:26 2020 +0200 wsd: single-char string literals -> char More readable and typically more efficient. Change-Id: I9bd5bfc91f4ac255bb8ae0987708fb8b56b398f8 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95285 Reviewed-by: Michael Meeks <michael.me...@collabora.com> Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/common/Crypto.cpp b/common/Crypto.cpp index 7c1d00052..5faf1988a 100644 --- a/common/Crypto.cpp +++ b/common/Crypto.cpp @@ -43,24 +43,24 @@ struct SupportKeyImpl if (firstColon != std::string::npos) { std::string expiry(key.substr(0, firstColon)); - LOG_INF("Support key with expiry '" << expiry << "'"); + LOG_INF("Support key with expiry '" << expiry << '\''); try { int timeZoneDifferential = 0; Poco::DateTimeParser::parse(expiry, _expiry, timeZoneDifferential); - size_t lastColon = key.rfind(":"); + size_t lastColon = key.rfind(':'); if (lastColon != std::string::npos) { _signature = key.substr(lastColon + 1, key.length() - lastColon); _data = key.substr(0, lastColon); - LOG_INF("Support key signature '" << _signature << "' data '" << _data << "'"); + LOG_INF("Support key signature '" << _signature << "' data '" << _data << '\''); _invalid = false; } } catch (SyntaxException &e) { - LOG_ERR("Invalid support key expiry '" << expiry << "'"); + LOG_ERR("Invalid support key expiry '" << expiry << '\''); } } } diff --git a/common/FileUtil.cpp b/common/FileUtil.cpp index 054a9461d..793fc1e25 100644 --- a/common/FileUtil.cpp +++ b/common/FileUtil.cpp @@ -223,7 +223,7 @@ namespace FileUtil catch (const std::exception&e) { // Already removed or we don't care about failures. - LOG_DBG("Exception removing " << path << " " << recursive << " : " << e.what()); + LOG_DBG("Exception removing " << path << ' ' << recursive << " : " << e.what()); } #endif } @@ -273,7 +273,7 @@ namespace FileUtil if (lastSlash != std::string::npos) { const std::string dirPath = path.substr(0, lastSlash + 1) + '.'; - LOG_INF("Registering filesystem for space checks: [" << dirPath << "]"); + LOG_INF("Registering filesystem for space checks: [" << dirPath << ']'); std::lock_guard<std::mutex> lock(fsmutex); diff --git a/common/JsonUtil.hpp b/common/JsonUtil.hpp index d85f01500..8f4e9d926 100644 --- a/common/JsonUtil.hpp +++ b/common/JsonUtil.hpp @@ -119,7 +119,7 @@ bool findJSONValue(Poco::JSON::Object::Ptr &object, const std::string& key, T& v // We found something with some differences--warn and return. LOG_WRN("Incorrect JSON property [" << userInput << "]. Did you mean [" << key << - "] ? (Levenshtein distance: " << levDist << ")"); + "] ? (Levenshtein distance: " << levDist << ')'); // Fail without exact match. return false; @@ -129,7 +129,7 @@ bool findJSONValue(Poco::JSON::Object::Ptr &object, const std::string& key, T& v if (bRemove) object->remove(userInput); - LOG_TRC("Found JSON property [" << userInput << "] => [" << value << "]"); + LOG_TRC("Found JSON property [" << userInput << "] => [" << value << ']'); return true; } diff --git a/common/LOOLWebSocket.hpp b/common/LOOLWebSocket.hpp index 627b89a5e..ddaf0e7ff 100644 --- a/common/LOOLWebSocket.hpp +++ b/common/LOOLWebSocket.hpp @@ -60,7 +60,7 @@ public: const int n = Poco::Net::WebSocket::receiveFrame(buffer, length, flags); if (n <= 0) - LOG_TRC("Got nothing (" << n << ")"); + LOG_TRC("Got nothing (" << n << ')'); else LOG_TRC("Got frame: " << getAbbreviatedFrameDump(buffer, n, flags)); @@ -176,14 +176,14 @@ public: result << Poco::format("%#x", flags); break; } - result << " " << std::setw(3) << length << " bytes"; + result << ' ' << std::setw(3) << length << " bytes"; if (length > 0 && ((flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) == Poco::Net::WebSocket::FRAME_OP_TEXT || (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) == Poco::Net::WebSocket::FRAME_OP_BINARY || (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) == Poco::Net::WebSocket::FRAME_OP_PING || (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) == Poco::Net::WebSocket::FRAME_OP_PONG)) - result << ": '" << LOOLProtocol::getAbbreviatedMessage(message, length) << "'"; + result << ": '" << LOOLProtocol::getAbbreviatedMessage(message, length) << '\''; return result.str(); } }; diff --git a/common/Log.cpp b/common/Log.cpp index 6cb376c9e..feabf0216 100644 --- a/common/Log.cpp +++ b/common/Log.cpp @@ -312,13 +312,13 @@ namespace Log oss.str(""); oss.clear(); - oss << "Initializing " << name << "."; + oss << "Initializing " << name << '.'; // TODO: replace with std::put_time when we move to gcc 5+. char buf[32]; if (strftime(buf, sizeof(buf), "%a %F %T%z", std::localtime(&t)) > 0) { - oss << " Local time: " << buf << "."; + oss << " Local time: " << buf << '.'; } oss << " Log level is [" << logger.getLevel() << "]."; diff --git a/common/MessageQueue.cpp b/common/MessageQueue.cpp index 3e5cb08d2..b171ce553 100644 --- a/common/MessageQueue.cpp +++ b/common/MessageQueue.cpp @@ -42,7 +42,7 @@ void TileQueue::put_impl(const Payload& value) { if (s.find("ver=" + tokens[i]) != std::string::npos) { - LOG_TRC("Matched " << tokens[i] << ", Removing [" << s << "]"); + LOG_TRC("Matched " << tokens[i] << ", Removing [" << s << ']'); return true; } } @@ -243,8 +243,10 @@ std::string TileQueue::removeCallbackDuplicate(const std::string& callbackMsg) // just remove it if (msgX <= queuedX && queuedX + queuedW <= msgX + msgW && msgY <= queuedY && queuedY + queuedH <= msgY + msgH) { - LOG_TRC("Removing smaller invalidation: " << std::string(it.data(), it.size()) << " -> " << - tokens[0] << " " << tokens[1] << " " << tokens[2] << " " << msgX << " " << msgY << " " << msgW << " " << msgH << " " << msgPart); + LOG_TRC("Removing smaller invalidation: " + << std::string(it.data(), it.size()) << " -> " << tokens[0] << ' ' + << tokens[1] << ' ' << tokens[2] << ' ' << msgX << ' ' << msgY << ' ' + << msgW << ' ' << msgH << ' ' << msgPart); // remove from the queue getQueue().erase(getQueue().begin() + i); @@ -268,9 +270,12 @@ std::string TileQueue::removeCallbackDuplicate(const std::string& callbackMsg) continue; } - LOG_TRC("Merging invalidations: " << std::string(it.data(), it.size()) << " and " << - tokens[0] << " " << tokens[1] << " " << tokens[2] << " " << msgX << " " << msgY << " " << msgW << " " << msgH << " " << msgPart << " -> " << - tokens[0] << " " << tokens[1] << " " << tokens[2] << " " << joinX << " " << joinY << " " << joinW << " " << joinH << " " << msgPart); + LOG_TRC("Merging invalidations: " + << std::string(it.data(), it.size()) << " and " << tokens[0] << ' ' + << tokens[1] << ' ' << tokens[2] << ' ' << msgX << ' ' << msgY << ' ' + << msgW << ' ' << msgH << ' ' << msgPart << " -> " << tokens[0] << ' ' + << tokens[1] << ' ' << tokens[2] << ' ' << joinX << ' ' << joinY << ' ' + << joinW << ' ' << joinH << ' ' << msgPart); msgX = joinX; msgY = joinY; diff --git a/common/Seccomp.cpp b/common/Seccomp.cpp index e868ee01e..1b05f290c 100644 --- a/common/Seccomp.cpp +++ b/common/Seccomp.cpp @@ -261,7 +261,7 @@ void setRLimit(rlim_t confLim, int resource, const std::string &resourceText, co rlim_t lim = confLim; if (lim <= 0) lim = RLIM_INFINITY; - const std::string limTextWithUnit((lim == RLIM_INFINITY) ? "unlimited" : std::to_string(lim) + " " + unitText); + const std::string limTextWithUnit((lim == RLIM_INFINITY) ? "unlimited" : std::to_string(lim) + ' ' + unitText); if (resource != RLIMIT_FSIZE && resource != RLIMIT_NOFILE) { /* FIXME Currently the RLIMIT_FSIZE handling is non-ideal, and can @@ -272,17 +272,17 @@ void setRLimit(rlim_t confLim, int resource, const std::string &resourceText, co */ rlimit rlim = { lim, lim }; if (setrlimit(resource, &rlim) != 0) - LOG_SYS("Failed to set " << resourceText << " to " << limTextWithUnit << "."); + LOG_SYS("Failed to set " << resourceText << " to " << limTextWithUnit << '.'); if (getrlimit(resource, &rlim) == 0) { - const std::string setLimTextWithUnit((rlim.rlim_max == RLIM_INFINITY) ? "unlimited" : std::to_string(rlim.rlim_max) + " " + unitText); - LOG_INF(resourceText << " is " << setLimTextWithUnit << " after setting it to " << limTextWithUnit << "."); + const std::string setLimTextWithUnit((rlim.rlim_max == RLIM_INFINITY) ? "unlimited" : std::to_string(rlim.rlim_max) + ' ' + unitText); + LOG_INF(resourceText << " is " << setLimTextWithUnit << " after setting it to " << limTextWithUnit << '.'); } else - LOG_SYS("Failed to get " << resourceText << "."); + LOG_SYS("Failed to get " << resourceText << '.'); } else - LOG_INF("Ignored setting " << resourceText << " to " << limTextWithUnit << "."); + LOG_INF("Ignored setting " << resourceText << " to " << limTextWithUnit << '.'); } bool handleSetrlimitCommand(const StringVector& tokens) diff --git a/common/Session.cpp b/common/Session.cpp index 58d7c0b6b..0b3499a05 100644 --- a/common/Session.cpp +++ b/common/Session.cpp @@ -250,7 +250,7 @@ void Session::handleMessage(const std::vector<char> &data) LOG_ERR("Session::handleInput: Exception while handling [" << getAbbreviatedMessage(data) << "] in " << getName() << ": " << exc.displayText() << - (exc.nested() ? " (" + exc.nested()->displayText() + ")" : "")); + (exc.nested() ? " (" + exc.nested()->displayText() + ')' : "")); } catch (const std::exception& exc) { @@ -288,7 +288,7 @@ void Session::dumpState(std::ostream& os) << "\n\t\tuserId: " << _userId << "\n\t\tuserName: " << _userName << "\n\t\tlang: " << _lang - << "\n"; + << '\n'; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/common/SigUtil.cpp b/common/SigUtil.cpp index cd4c779dc..5a587f30d 100644 --- a/common/SigUtil.cpp +++ b/common/SigUtil.cpp @@ -308,7 +308,7 @@ namespace SigUtil stream << "\nERROR: Fatal signal! Attach debugger with:\n" << "sudo gdb --pid=" << getpid() << "\n or \n" << "sudo gdb --q --n --ex 'thread apply all backtrace full' --batch --pid=" - << getpid() << "\n"; + << getpid() << '\n'; std::string streamStr = stream.str(); assert (sizeof (FatalGdbString) > strlen(streamStr.c_str()) + 1); strncpy(FatalGdbString, streamStr.c_str(), sizeof(FatalGdbString)-1); diff --git a/common/Util.cpp b/common/Util.cpp index 881836c34..b51295ebd 100644 --- a/common/Util.cpp +++ b/common/Util.cpp @@ -384,7 +384,7 @@ namespace Util default: assert(false); } - unit += "B"; + unit += 'B'; std::stringstream ss; ss << std::fixed << std::setprecision(1) << val << ' ' << unit; return ss.str(); @@ -572,7 +572,7 @@ namespace Util { // Copy the current name. const std::string knownAs - = ThreadName[0] ? "known as [" + std::string(ThreadName) + "]" : "unnamed"; + = ThreadName[0] ? "known as [" + std::string(ThreadName) + ']' : "unnamed"; // Set the new name. strncpy(ThreadName, s.c_str(), sizeof(ThreadName) - 1); @@ -864,7 +864,7 @@ namespace Util << time_modified << std::setw(6) << (time - lastModified_s).count() / 1000 - << "Z"; + << 'Z'; return oss.str(); } diff --git a/common/Util.hpp b/common/Util.hpp index 0f19828ba..46a88fec0 100644 --- a/common/Util.hpp +++ b/common/Util.hpp @@ -203,7 +203,7 @@ namespace Util for (unsigned int i = 0; i < width; i++) { if (i && (i % 8) == 0) - os << " "; + os << ' '; if ((offset + i) < buffer.size()) sprintf (scratch, "%.2x ", (unsigned char)buffer[offset+i]); else @@ -254,7 +254,7 @@ namespace Util } lastLine.swap(line); - os << "\n"; + os << '\n'; } os.flush(); } diff --git a/kit/ChildSession.cpp b/kit/ChildSession.cpp index ba8bdf8ee..9b62f1c06 100644 --- a/kit/ChildSession.cpp +++ b/kit/ChildSession.cpp @@ -656,7 +656,7 @@ bool ChildSession::loadDocument(const char * /*buffer*/, int /*length*/, const S } // Respond by the document status - LOG_DBG("Sending status after loading view " << _viewId << "."); + LOG_DBG("Sending status after loading view " << _viewId << '.'); const std::string status = LOKitHelper::documentStatus(getLOKitDocument()->get()); if (status.empty() || !sendTextFrame("status: " + status)) { @@ -699,7 +699,7 @@ bool ChildSession::sendFontRendering(const char* /*buffer*/, int /*length*/, con return false; } - const std::string response = "renderfont: " + tokens.cat(std::string(" "), 1) + "\n"; + const std::string response = "renderfont: " + tokens.cat(std::string(" "), 1) + '\n'; std::vector<char> output; output.resize(response.size()); @@ -1614,7 +1614,7 @@ bool ChildSession::renderWindow(const char* /*buffer*/, int /*length*/, const St if (!paintRectangle.empty()) response += " rectangle=" + paintRectangle; - response += "\n"; + response += '\n'; std::vector<char> output; output.reserve(response.size() + pixmapDataSize); diff --git a/kit/Delta.hpp b/kit/Delta.hpp index 9e3876643..6358c1f42 100644 --- a/kit/Delta.hpp +++ b/kit/Delta.hpp @@ -102,13 +102,13 @@ class DeltaGenerator { // TODO: should we split and compress alpha separately ? if (prev.getWidth() != cur.getWidth() || prev.getHeight() != cur.getHeight()) { - LOG_ERR("mis-sized delta: " << prev.getWidth() << "x" << prev.getHeight() << " vs " - << cur.getWidth() << "x" << cur.getHeight()); + LOG_ERR("mis-sized delta: " << prev.getWidth() << 'x' << prev.getHeight() << " vs " + << cur.getWidth() << 'x' << cur.getHeight()); return false; } output.push_back('D'); - LOG_TRC("building delta of a " << cur.getWidth() << "x" << cur.getHeight() << " bitmap"); + LOG_TRC("building delta of a " << cur.getWidth() << 'x' << cur.getHeight() << " bitmap"); // row move/copy src/dest is a byte. assert (prev.getHeight() <= 256); diff --git a/kit/ForKit.cpp b/kit/ForKit.cpp index c820305ff..c5bd274dc 100644 --- a/kit/ForKit.cpp +++ b/kit/ForKit.cpp @@ -136,7 +136,7 @@ protected: } else { - LOG_ERR("Bad or unknown token [" << tokens[0] << "]"); + LOG_ERR("Bad or unknown token [" << tokens[0] << ']'); } } @@ -167,12 +167,12 @@ static bool haveCapability(cap_value_t capability) { if (cap_name) { - LOG_SFL("cap_get_flag failed for " << cap_name << "."); + LOG_SFL("cap_get_flag failed for " << cap_name << '.'); cap_free(cap_name); } else { - LOG_SFL("cap_get_flag failed for capability " << capability << "."); + LOG_SFL("cap_get_flag failed for capability " << capability << '.'); } return false; } @@ -263,7 +263,7 @@ static void cleanupChildren() if (WSHandler) { std::stringstream stream; - stream << "segfaultcount " << segFaultCount << "\n"; + stream << "segfaultcount " << segFaultCount << '\n'; int ret = WSHandler->sendMessage(stream.str()); if (ret == -1) { @@ -297,7 +297,7 @@ static int createLibreOfficeKit(const std::string& childRoot, // Used to label the spare kit instances static size_t spareKitId = 0; ++spareKitId; - LOG_DBG("Forking a loolkit process with jailId: " << jailId << " as spare loolkit #" << spareKitId << "."); + LOG_DBG("Forking a loolkit process with jailId: " << jailId << " as spare loolkit #" << spareKitId << '.'); const pid_t pid = fork(); if (!pid) diff --git a/kit/Kit.cpp b/kit/Kit.cpp index db95047f9..db18fd858 100644 --- a/kit/Kit.cpp +++ b/kit/Kit.cpp @@ -224,7 +224,7 @@ namespace { ++linkOrCopyFileCount; if (linkOrCopyVerboseLogging) - LOG_INF("Linking file \"" << fpath << "\" to \"" << newPath.toString() << "\""); + LOG_INF("Linking file \"" << fpath << "\" to \"" << newPath.toString() << '"'); if (link(fpath, newPath.toString().c_str()) == -1) { @@ -328,10 +328,10 @@ namespace } break; case FTW_DNR: - LOG_ERR("nftw: Cannot read directory '" << fpath << "'"); + LOG_ERR("nftw: Cannot read directory '" << fpath << '\''); return FTW_STOP; case FTW_NS: - LOG_ERR("nftw: stat failed for '" << fpath << "'"); + LOG_ERR("nftw: stat failed for '" << fpath << '\''); return FTW_STOP; default: LOG_FTL("nftw: unexpected typeflag: '" << typeflag); @@ -368,7 +368,7 @@ namespace if (nftw(source.c_str(), linkOrCopyFunction, 10, FTW_ACTIONRETVAL|FTW_PHYS) == -1) { - LOG_SYS("linkOrCopy: nftw() failed for '" << source << "'"); + LOG_SYS("linkOrCopy: nftw() failed for '" << source << '\''); } if (linkOrCopyVerboseLogging) @@ -920,7 +920,7 @@ public: { LOG_INF("setDocumentPassword: passwordProtected=" << _isDocPasswordProtected << " passwordProvided=" << _haveDocPassword << - " password='" << _docPassword << "'"); + " password='" << _docPassword << '\''); if (_isDocPasswordProtected && _haveDocPassword) { @@ -1010,7 +1010,7 @@ public: const size_t pixmapHeight = tilesByY * tileCombined.getHeight(); if (pixmapWidth > 4096 || pixmapHeight > 4096) - LOG_WRN("Unusual extremely large tile combine of size " << pixmapWidth << "x" << pixmapHeight); + LOG_WRN("Unusual extremely large tile combine of size " << pixmapWidth << 'x' << pixmapHeight); const size_t pixmapSize = 4 * pixmapWidth * pixmapHeight; RenderBuffer pixmap(pixmapWidth, pixmapHeight); @@ -1044,7 +1044,7 @@ public: // Render the whole area const double area = pixmapWidth * pixmapHeight; auto start = std::chrono::system_clock::now(); - LOG_TRC("Calling paintPartTile(" << (void*)pixmap.data() << ")"); + LOG_TRC("Calling paintPartTile(" << (void*)pixmap.data() << ')'); _loKitDocument->paintPartTile(pixmap.data(), tileCombined.getPart(), pixmapWidth, pixmapHeight, @@ -1092,7 +1092,7 @@ public: if (hash != 0 && oldWireId == wireId) { // The tile content is identical to what the client already has, so skip it - LOG_TRC("Match for tile #" << tileIndex << " at (" << positionX << "," << + LOG_TRC("Match for tile #" << tileIndex << " at (" << positionX << ',' << positionY << ") oldhash==hash (" << hash << "), wireId: " << wireId << " skipping"); tileIndex++; continue; @@ -1117,7 +1117,7 @@ public: pushRendered(duplicateTiles, tiles[tileIndex], wireId, 0); duplicateHashes.push_back(hash); skipCompress = true; - LOG_TRC("Rendering duplicate tile #" << tileIndex << " at (" << positionX << "," << + LOG_TRC("Rendering duplicate tile #" << tileIndex << " at (" << positionX << ',' << positionY << ") oldhash==hash (" << hash << "), wireId: " << wireId << " skipping"); break; } @@ -1160,7 +1160,7 @@ public: }); } - LOG_TRC("Encoded tile #" << tileIndex << " at (" << positionX << "," << positionY << ") with oldWireId=" << + LOG_TRC("Encoded tile #" << tileIndex << " at (" << positionX << ',' << positionY << ") with oldWireId=" << tiles[tileIndex].getOldWireId() << ", hash=" << hash << " wireId: " << wireId << " in " << imgSize << " bytes."); tileIndex++; } @@ -1236,7 +1236,7 @@ public: catch (const Exception& exc) { LOG_ERR("Document::sendFrame: Exception: " << exc.displayText() << - (exc.nested() ? "( " + exc.nested()->displayText() + ")" : "")); + (exc.nested() ? "( " + exc.nested()->displayText() + ')' : "")); } return false; @@ -1544,7 +1544,7 @@ private: oss << "viewinfo: ["; for (const auto& viewId : viewIds) { - oss << "{\"id\":" << viewId << ","; + oss << "{\"id\":" << viewId << ','; int color = 0; const auto itView = viewInfoMap.find(viewId); if (itView == viewInfoMap.end()) @@ -1572,7 +1572,7 @@ private: } oss.seekp(-1, std::ios_base::cur); // Remove last comma. - oss << "]"; + oss << ']'; // Broadcast updated viewinfo to all clients. notifyAll(oss.str()); @@ -1655,7 +1655,7 @@ private: catch(const Exception& exc) { LOG_ERR("Poco Exception: " << exc.displayText() << - (exc.nested() ? " (" + exc.nested()->displayText() + ")" : "")); + (exc.nested() ? " (" + exc.nested()->displayText() + ')' : "")); } return viewColors; @@ -2350,7 +2350,7 @@ protected: } else { - LOG_ERR("Bad or unknown token [" << tokens[0] << "]"); + LOG_ERR("Bad or unknown token [" << tokens[0] << ']'); } } @@ -2504,7 +2504,7 @@ void lokit_main( try { #if !MOBILEAPP - jailPath = Path::forDirectory(childRoot + "/" + jailId); + jailPath = Path::forDirectory(childRoot + '/' + jailId); LOG_INF("Jail path: " << jailPath.toString()); File(jailPath).createDirectories(); chmod(jailPath.toString().c_str(), S_IXUSR | S_IWUSR | S_IRUSR); @@ -2512,7 +2512,7 @@ void lokit_main( if (!ChildSession::NoCapsForKit) { userdir_url = "file:///user"; - instdir_path = "/" + loSubPath + "/program"; + instdir_path = '/' + loSubPath + "/program"; // Create a symlink inside the jailPath so that the absolute pathname loTemplate, when // interpreted inside a chroot at jailPath, points to loSubPath (relative to the chroot). @@ -2610,7 +2610,7 @@ void lokit_main( { LOG_ERR("Security warning - using template " << loTemplate << " as install subpath - skipping chroot jail setup"); userdir_url = "file:///" + jailPath.toString() + "/user"; - instdir_path = "/" + loTemplate + "/program"; + instdir_path = '/' + loTemplate + "/program"; } // hard-random tmpdir inside the jail / root @@ -2776,7 +2776,7 @@ void lokit_main( catch (const Exception& exc) { LOG_ERR("Poco Exception: " << exc.displayText() << - (exc.nested() ? " (" + exc.nested()->displayText() + ")" : "")); + (exc.nested() ? " (" + exc.nested()->displayText() + ')' : "")); } catch (const std::exception& exc) { diff --git a/kit/KitHelper.hpp b/kit/KitHelper.hpp index 37fce3fa0..2c8db05ba 100644 --- a/kit/KitHelper.hpp +++ b/kit/KitHelper.hpp @@ -102,7 +102,7 @@ namespace LOKitHelper for (int i = 0; i < parts; ++i) { - oss << "\n"; + oss << '\n'; ptrValue = loKitDocument->pClass->getPartName(loKitDocument, i); oss << ptrValue; std::free(ptrValue); @@ -112,7 +112,7 @@ namespace LOKitHelper { for (int i = 0; i < parts; ++i) { - oss << "\n"; + oss << '\n'; ptrValue = loKitDocument->pClass->getPartHash(loKitDocument, i); oss << ptrValue; std::free(ptrValue); diff --git a/net/DelaySocket.cpp b/net/DelaySocket.cpp index fe9478bca..f2ece3279 100644 --- a/net/DelaySocket.cpp +++ b/net/DelaySocket.cpp @@ -11,7 +11,7 @@ #include <net/DelaySocket.hpp> -#define DELAY_LOG(X) std::cerr << X << "\n"; +#define DELAY_LOG(X) std::cerr << X << '\n'; class Delayer; @@ -63,7 +63,7 @@ public: void dumpState(std::ostream& os) override { os << "\tfd: " << getFD() - << "\n\tqueue: " << _chunks.size() << "\n"; + << "\n\tqueue: " << _chunks.size() << '\n'; auto now = std::chrono::steady_clock::now(); for (auto &chunk : _chunks) { @@ -85,7 +85,7 @@ public: int64_t remainingMicroS = std::chrono::duration_cast<std::chrono::microseconds>( (*_chunks.begin())->getSendTime() - now).count(); if (remainingMicroS < timeoutMaxMicroS) - DELAY_LOG("#" << getFD() << " reset timeout max to " << remainingMicroS + DELAY_LOG('#' << getFD() << " reset timeout max to " << remainingMicroS << "us from " << timeoutMaxMicroS << "us\n"); timeoutMaxMicroS = std::min(timeoutMaxMicroS, remainingMicroS); } @@ -122,7 +122,7 @@ public: shutdown(); break; } - DELAY_LOG("#" << getFD() << " changed to state " << newState << "\n"); + DELAY_LOG('#' << getFD() << " changed to state " << newState << '\n'); _state = newState; } @@ -144,8 +144,8 @@ public: changeState(EofFlushWrites); else if (len >= 0) { - DELAY_LOG("#" << getFD() << " read " << len - << " to queue: " << _chunks.size() << "\n"); + DELAY_LOG('#' << getFD() << " read " << len + << " to queue: " << _chunks.size() << '\n'); chunk->getData().insert(chunk->getData().end(), &buf[0], &buf[len]); if (_dest) _dest->_chunks.push_back(chunk); @@ -154,7 +154,7 @@ public: } else if (errno != EAGAIN && errno != EWOULDBLOCK) { - DELAY_LOG("#" << getFD() << " error : " << Util::symbolicErrno(errno) << ": " << strerror(errno) << "\n"); + DELAY_LOG('#' << getFD() << " error : " << Util::symbolicErrno(errno) << ": " << strerror(errno) << '\n'); changeState(Closed); // FIXME - propagate the error ? } } @@ -172,7 +172,7 @@ public: { if (chunk->getData().size() == 0) { // delayed error or close - DELAY_LOG("#" << getFD() << " handling delayed close\n"); + DELAY_LOG('#' << getFD() << " handling delayed close\n"); changeState(Closed); } else @@ -186,23 +186,23 @@ public: { if (errno == EAGAIN || errno == EWOULDBLOCK) { - DELAY_LOG("#" << getFD() << " full - waiting for write\n"); + DELAY_LOG('#' << getFD() << " full - waiting for write\n"); } else { - DELAY_LOG("#" << getFD() << " failed onwards write " + DELAY_LOG('#' << getFD() << " failed onwards write " << len << "bytes of " << chunk->getData().size() << " queue: " << _chunks.size() << " error: " - << Util::symbolicErrno(errno) << ": " << strerror(errno) << "\n"); + << Util::symbolicErrno(errno) << ": " << strerror(errno) << '\n'); changeState(Closed); } } else { - DELAY_LOG("#" << getFD() << " written onwards " << len << "bytes of " + DELAY_LOG('#' << getFD() << " written onwards " << len << "bytes of " << chunk->getData().size() - << " queue: " << _chunks.size() << "\n"); + << " queue: " << _chunks.size() << '\n'); if (len > 0) chunk->getData().erase(chunk->getData().begin(), chunk->getData().begin() + len); @@ -215,7 +215,7 @@ public: if (events & (POLLERR | POLLHUP | POLLNVAL)) { - DELAY_LOG("#" << getFD() << " error events: " << events << "\n"); + DELAY_LOG('#' << getFD() << " error events: " << events << '\n'); changeState(Closed); } diff --git a/net/FakeSocket.cpp b/net/FakeSocket.cpp index 0cdd54795..13b73922c 100644 --- a/net/FakeSocket.cpp +++ b/net/FakeSocket.cpp @@ -83,7 +83,7 @@ static std::string flush() { static bool alwaysStderr = std::getenv("FAKESOCKET_LOG_ALWAYS_STDERR") != nullptr; if (alwaysStderr) - std::cerr << std::this_thread::get_id() << ":" << loggingBuffer.str() << std::endl; + std::cerr << std::this_thread::get_id() << ':' << loggingBuffer.str() << std::endl; else if (loggingCallback != nullptr) loggingCallback(loggingBuffer.str()); loggingBuffer.str(""); @@ -146,7 +146,7 @@ int fakeSocketPipe2(int pipefd[2]) pair.fd[1] = pair.fd[0] + 1; pipefd[1] = pair.fd[1]; - FAKESOCKET_LOG("FakeSocket Pipe created (#" << pipefd[0] << ",#" << pipefd[1] << ")" << flush()); + FAKESOCKET_LOG("FakeSocket Pipe created (#" << pipefd[0] << ",#" << pipefd[1] << ')' << flush()); return 0; } @@ -161,37 +161,37 @@ static std::string pollBits(int bits) if (bits & POLLERR) { if (result != "") - result += "+"; + result += '+'; result += "ERR"; } if (bits & POLLHUP) { if (result != "") - result += "+"; + result += '+'; result += "HUP"; } if (bits & POLLIN) { if (result != "") - result += "+"; + result += '+'; result += "IN"; } if (bits & POLLNVAL) { if (result != "") - result += "+"; + result += '+'; result += "NVAL"; } if (bits & POLLOUT) { if (result != "") - result += "+"; + result += '+'; result += "OUT"; } if (bits & POLLPRI) { if (result != "") - result += "+"; + result += '+'; result += "PRI"; } @@ -253,8 +253,8 @@ int fakeSocketPoll(struct pollfd *pollfds, int nfds, int timeout) for (int i = 0; i < nfds; i++) { if (i > 0) - FAKESOCKET_LOG(","); - FAKESOCKET_LOG("#" << pollfds[i].fd << ":" << pollBits(pollfds[i].events)); + FAKESOCKET_LOG(','); + FAKESOCKET_LOG('#' << pollfds[i].fd << ':' << pollBits(pollfds[i].events)); } FAKESOCKET_LOG(", timeout:" << timeout << flush()); @@ -294,8 +294,8 @@ int fakeSocketPoll(struct pollfd *pollfds, int nfds, int timeout) for (int i = 0; i < nfds; i++) { if (i > 0) - FAKESOCKET_LOG(","); - FAKESOCKET_LOG("#" << pollfds[i].fd << ":" << pollBits(pollfds[i].revents)); + FAKESOCKET_LOG(','); + FAKESOCKET_LOG('#' << pollfds[i].fd << ':' << pollBits(pollfds[i].revents)); } FAKESOCKET_LOG(": " << result << flush()); diff --git a/net/ServerSocket.hpp b/net/ServerSocket.hpp index 87cd51347..557f7004e 100644 --- a/net/ServerSocket.hpp +++ b/net/ServerSocket.hpp @@ -82,7 +82,7 @@ public: if (!clientSocket) { const std::string msg = "Failed to accept. (errno: "; - throw std::runtime_error(msg + std::strerror(errno) + ")"); + throw std::runtime_error(msg + std::strerror(errno) + ')'); } LOG_DBG("Accepted client #" << clientSocket->getFD()); diff --git a/net/Socket.cpp b/net/Socket.cpp index 0703f9c0a..e388d412a 100644 --- a/net/Socket.cpp +++ b/net/Socket.cpp @@ -504,7 +504,7 @@ void SocketPoll::insertNewFakeSocket( void ServerSocket::dumpState(std::ostream& os) { - os << "\t" << getFD() << "\t<accept>\n"; + os << '\t' << getFD() << "\t<accept>\n"; } void SocketDisposition::execute() @@ -529,7 +529,7 @@ void WebSocketHandler::dumpState(std::ostream& os) << std::setw(5) << _pingTimeUs/1000. << "ms "; if (_wsPayload.size() > 0) Util::dumpHex(os, "\t\tws queued payload:\n", "\t\t", _wsPayload); - os << "\n"; + os << '\n'; if (_msgHandler) _msgHandler->dumpState(os); } @@ -538,10 +538,10 @@ void StreamSocket::dumpState(std::ostream& os) { int64_t timeoutMaxMicroS = SocketPoll::DefaultPollTimeoutMicroS; int events = getPollEvents(std::chrono::steady_clock::now(), timeoutMaxMicroS); - os << "\t" << getFD() << "\t" << events << "\t" - << _inBuffer.size() << "\t" << _outBuffer.size() << "\t" - << " r: " << _bytesRecvd << "\t w: " << _bytesSent << "\t" - << clientAddress() << "\t"; + os << '\t' << getFD() << '\t' << events << '\t' + << _inBuffer.size() << '\t' << _outBuffer.size() << '\t' + << " r: " << _bytesRecvd << "\t w: " << _bytesSent << '\t' + << clientAddress() << '\t'; _socketHandler->dumpState(os); if (_inBuffer.size() > 0) Util::dumpHex(os, "\t\tinBuffer:\n", "\t\t", _inBuffer); @@ -564,9 +564,9 @@ void SocketPoll::dumpState(std::ostream& os) { // FIXME: NOT thread-safe! _pollSockets is modified from the polling thread! os << " Poll [" << _pollSockets.size() << "] - wakeup r: " - << _wakeup[0] << " w: " << _wakeup[1] << "\n"; + << _wakeup[0] << " w: " << _wakeup[1] << '\n'; if (_newCallbacks.size() > 0) - os << "\tcallbacks: " << _newCallbacks.size() << "\n"; + os << "\tcallbacks: " << _newCallbacks.size() << '\n'; os << "\tfd\tevents\trsize\twsize\n"; for (auto &i : _pollSockets) i->dumpState(os); @@ -688,7 +688,7 @@ int Socket::getPid() const socklen_t credSize = sizeof(struct ucred); if (getsockopt(_fd, SOL_SOCKET, SO_PEERCRED, &creds, &credSize) < 0) { - LOG_TRC("Failed to get pid via peer creds on " << _fd << " " << strerror(errno)); + LOG_TRC("Failed to get pid via peer creds on " << _fd << ' ' << strerror(errno)); return -1; } return creds.pid; @@ -721,7 +721,7 @@ std::shared_ptr<Socket> LocalServerSocket::accept() socklen_t credSize = sizeof(struct ucred); if (getsockopt(getFD(), SOL_SOCKET, SO_PEERCRED, &creds, &credSize) < 0) { - LOG_ERR("Failed to get peer creds on " << getFD() << " " << strerror(errno)); + LOG_ERR("Failed to get peer creds on " << getFD() << ' ' << strerror(errno)); ::close(rc); return std::shared_ptr<Socket>(nullptr); } @@ -740,7 +740,7 @@ std::shared_ptr<Socket> LocalServerSocket::accept() _socket->setClientAddress(addr); LOG_DBG("Accepted socket is UDS - address " << addr << - " and uid/gid " << creds.uid << "/" << creds.gid); + " and uid/gid " << creds.uid << '/' << creds.gid); return _socket; } catch (const std::exception& ex) @@ -788,7 +788,7 @@ bool StreamSocket::parseHeader(const char *clientName, Poco::Net::HTTPRequest &request, MessageMap *map) { - LOG_TRC("#" << getFD() << " handling incoming " << _inBuffer.size() << " bytes."); + LOG_TRC('#' << getFD() << " handling incoming " << _inBuffer.size() << " bytes."); assert(!map || (map->_headerSize == 0 && map->_messageSize == 0)); @@ -798,7 +798,7 @@ bool StreamSocket::parseHeader(const char *clientName, marker.begin(), marker.end()); if (itBody == _inBuffer.end()) { - LOG_TRC("#" << getFD() << " doesn't have enough data yet."); + LOG_TRC('#' << getFD() << " doesn't have enough data yet."); return false; } @@ -817,7 +817,7 @@ bool StreamSocket::parseHeader(const char *clientName, Log::StreamLogger logger = Log::info(); if (logger.enabled()) { - logger << "#" << getFD() << ": " << clientName << " HTTP Request: " + logger << '#' << getFD() << ": " << clientName << " HTTP Request: " << request.getMethod() << ' ' << request.getURI() << ' ' << request.getVersion(); @@ -846,7 +846,7 @@ bool StreamSocket::parseHeader(const char *clientName, bool getExpectContinue = !expect.empty() && Poco::icompare(expect, "100-continue") == 0; if (getExpectContinue && !_sentHTTPContinue) { - LOG_TRC("#" << getFD() << " got Expect: 100-continue, sending Continue"); + LOG_TRC('#' << getFD() << " got Expect: 100-continue, sending Continue"); // FIXME: should validate authentication headers early too. send("HTTP/1.1 100 Continue\r\n\r\n", sizeof("HTTP/1.1 100 Continue\r\n\r\n") - 1); @@ -1033,7 +1033,7 @@ namespace HttpHelper struct stat st; if (stat(path.c_str(), &st) != 0) { - LOG_WRN("#" << socket->getFD() << ": Failed to stat [" << path << "]. File will not be sent."); + LOG_WRN('#' << socket->getFD() << ": Failed to stat [" << path << "]. File will not be sent."); throw Poco::FileNotFoundException("Failed to stat [" + path + "]. File will not be sent."); } @@ -1064,7 +1064,7 @@ namespace HttpHelper if (!deflate || true) { response.setContentLength(st.st_size); - LOG_TRC("#" << socket->getFD() << ": Sending " << + LOG_TRC('#' << socket->getFD() << ": Sending " << (headerOnly ? "header for " : "") << " file [" << path << "]."); socket->send(response); @@ -1074,7 +1074,7 @@ namespace HttpHelper else { response.set("Content-Encoding", "deflate"); - LOG_TRC("#" << socket->getFD() << ": Sending " << + LOG_TRC('#' << socket->getFD() << ": Sending " << (headerOnly ? "header for " : "") << " file [" << path << "]."); socket->send(response); diff --git a/net/Socket.hpp b/net/Socket.hpp index 967e7b8c6..7e011bb9d 100644 --- a/net/Socket.hpp +++ b/net/Socket.hpp @@ -116,7 +116,7 @@ public: virtual ~Socket() { - LOG_TRC("#" << getFD() << " Socket dtor."); + LOG_TRC('#' << getFD() << " Socket dtor."); // Doesn't block on sockets; no error handling needed. #if !MOBILEAPP @@ -146,7 +146,7 @@ public: /// TODO: Support separate read/write shutdown. virtual void shutdown() { - LOG_TRC("#" << _fd << ": socket shutdown RDWR."); + LOG_TRC('#' << _fd << ": socket shutdown RDWR."); #if !MOBILEAPP ::shutdown(_fd, SHUT_RDWR); #else @@ -193,7 +193,7 @@ public: _sendBufferSize = getSocketBufferSize(); if (rc != 0 || _sendBufferSize < 0 ) { - LOG_ERR("#" << _fd << ": Error getting socket buffer size " << errno); + LOG_ERR('#' << _fd << ": Error getting socket buffer size " << errno); _sendBufferSize = DefaultSendBufferSize; return false; } @@ -201,12 +201,12 @@ public: { if (_sendBufferSize > MaximumSendBufferSize * 2) { - LOG_TRC("#" << _fd << ": Clamped send buffer size to " << + LOG_TRC('#' << _fd << ": Clamped send buffer size to " << MaximumSendBufferSize << " from " << _sendBufferSize); _sendBufferSize = MaximumSendBufferSize; } else - LOG_TRC("#" << _fd << ": Set socket buffer size to " << _sendBufferSize); + LOG_TRC('#' << _fd << ": Set socket buffer size to " << _sendBufferSize); return true; } } @@ -284,7 +284,7 @@ public: { if (id != _owner) { - LOG_DBG("#" << _fd << " Thread affinity set to " << Log::to_string(id) << + LOG_DBG('#' << _fd << " Thread affinity set to " << Log::to_string(id) << " (was " << Log::to_string(_owner) << ")."); _owner = id; } @@ -303,7 +303,7 @@ public: // uninitialized owner means detached and can be invoked by any thread. const bool sameThread = (_owner == std::thread::id() || std::this_thread::get_id() == _owner); if (!sameThread) - LOG_ERR("#" << _fd << " Invoked from foreign thread. Expected: " << + LOG_ERR('#' << _fd << " Invoked from foreign thread. Expected: " << Log::to_string(_owner) << " but called from " << std::this_thread::get_id() << " (" << Util::getThreadId() << ")."); @@ -325,7 +325,7 @@ protected: setNoDelay(); _sendBufferSize = DefaultSendBufferSize; _owner = std::this_thread::get_id(); - LOG_DBG("#" << _fd << " Thread affinity set to " << Log::to_string(_owner) << "."); + LOG_DBG('#' << _fd << " Thread affinity set to " << Log::to_string(_owner) << '.'); #if !MOBILEAPP #if ENABLE_DEBUG @@ -333,8 +333,8 @@ protected: { const int oldSize = getSocketBufferSize(); setSocketBufferSize(0); - LOG_TRC("#" << _fd << ": Buffer size: " << getSendBufferSize() << - " (was " << oldSize << ")"); + LOG_TRC('#' << _fd << ": Buffer size: " << getSendBufferSize() << + " (was " << oldSize << ')'); } #endif #endif @@ -493,7 +493,7 @@ public: /// Stop the polling thread. void stop() { - LOG_DBG("Stopping " << _name << "."); + LOG_DBG("Stopping " << _name << '.'); _stop = true; #if MOBILEAPP { @@ -512,7 +512,7 @@ public: void removeSockets() { - LOG_DBG("Removing all sockets from " << _name << "."); + LOG_DBG("Removing all sockets from " << _name << '.'); assertCorrectThread(); while (!_pollSockets.empty()) @@ -817,7 +817,7 @@ public: virtual void shutdown() override { _shutdownSignalled = true; - LOG_TRC("#" << getFD() << ": Async shutdown requested."); + LOG_TRC('#' << getFD() << ": Async shutdown requested."); } /// Perform the real shutdown. @@ -994,7 +994,7 @@ public: size_t count = map._headerSize; size_t toErase = std::min(count, _inBuffer.size()); if (toErase < count) - LOG_ERR("#" << getFD() << ": attempted to remove: " << count << " which is > size: " << _inBuffer.size() << " clamped to " << toErase); + LOG_ERR('#' << getFD() << ": attempted to remove: " << count << " which is > size: " << _inBuffer.size() << " clamped to " << toErase); if (toErase > 0) _inBuffer.erase(_inBuffer.begin(), _inBuffer.begin() + count); } @@ -1055,7 +1055,7 @@ protected: // Always try to read. closed = !readIncomingData() || closed; - LOG_TRC("#" << getFD() << ": Incoming data buffer " << _inBuffer.size() << + LOG_TRC('#' << getFD() << ": Incoming data buffer " << _inBuffer.size() << " bytes, closeSocket? " << closed); #ifdef LOG_SOCKET_DATA @@ -1101,7 +1101,7 @@ protected: if (closed) { - LOG_TRC("#" << getFD() << ": Closed. Firing onDisconnect."); + LOG_TRC('#' << getFD() << ": Closed. Firing onDisconnect."); _closed = true; _socketHandler->onDisconnect(); } @@ -1125,7 +1125,7 @@ public: len = writeData(&_outBuffer[0], std::min((int)_outBuffer.size(), getSendBufferSize())); - LOG_TRC("#" << getFD() << ": Wrote outgoing data " << len << " bytes of " + LOG_TRC('#' << getFD() << ": Wrote outgoing data " << len << " bytes of " << _outBuffer.size() << " bytes buffered."); #ifdef LOG_SOCKET_DATA @@ -1135,7 +1135,7 @@ public: #endif if (len <= 0 && errno != EAGAIN && errno != EWOULDBLOCK) - LOG_SYS("#" << getFD() << ": Socket write returned " << len); + LOG_SYS('#' << getFD() << ": Socket write returned " << len); } while (len < 0 && errno == EINTR); diff --git a/net/Ssl.cpp b/net/Ssl.cpp index 5dc8ba874..92f60064d 100644 --- a/net/Ssl.cpp +++ b/net/Ssl.cpp @@ -88,7 +88,7 @@ SslContext::SslContext(const std::string& certFilePath, if (errCode != 1) { std::string msg = getLastErrorMsg(); - throw std::runtime_error(std::string("Cannot load CA file/directory at ") + caFilePath + " (" + msg + ")"); + throw std::runtime_error(std::string("Cannot load CA file/directory at ") + caFilePath + " (" + msg + ')'); } } @@ -98,7 +98,7 @@ SslContext::SslContext(const std::string& certFilePath, if (errCode != 1) { std::string msg = getLastErrorMsg(); - throw std::runtime_error(std::string("Error loading private key from file ") + keyFilePath + " (" + msg + ")"); + throw std::runtime_error(std::string("Error loading private key from file ") + keyFilePath + " (" + msg + ')'); } } @@ -108,7 +108,7 @@ SslContext::SslContext(const std::string& certFilePath, if (errCode != 1) { std::string msg = getLastErrorMsg(); - throw std::runtime_error(std::string("Error loading certificate from file ") + certFilePath + " (" + msg + ")"); + throw std::runtime_error(std::string("Error loading certificate from file ") + certFilePath + " (" + msg + ')'); } } diff --git a/net/WebSocketHandler.hpp b/net/WebSocketHandler.hpp index 5815a720e..9c4ac5bb4 100644 --- a/net/WebSocketHandler.hpp +++ b/net/WebSocketHandler.hpp @@ -97,7 +97,7 @@ public: void onConnect(const std::shared_ptr<StreamSocket>& socket) override { _socket = socket; - LOG_TRC("#" << socket->getFD() << " Connected to WS Handler " << this); + LOG_TRC('#' << socket->getFD() << " Connected to WS Handler " << this); } /// Status codes sent to peer on shutdown. @@ -128,7 +128,7 @@ public: return; } - LOG_TRC("#" << socket->getFD() << ": Shutdown websocket, code: " << + LOG_TRC('#' << socket->getFD() << ": Shutdown websocket, code: " << static_cast<unsigned>(statusCode) << ", message: " << statusMessage); _shuttingDown = true; @@ -193,7 +193,7 @@ public: #if !MOBILEAPP if (len < 2) // partial read { - LOG_TRC("#" << socket->getFD() << ": Still incomplete WebSocket message, have " << len << " bytes"); + LOG_TRC('#' << socket->getFD() << ": Still incomplete WebSocket message, have " << len << " bytes"); return false; } @@ -209,7 +209,7 @@ public: { if (len < 2 + 2) { - LOG_TRC("#" << socket->getFD() << ": Still incomplete WebSocket message, have " << len << " bytes"); + LOG_TRC('#' << socket->getFD() << ": Still incomplete WebSocket message, have " << len << " bytes"); return false; } @@ -220,7 +220,7 @@ public: { if (len < 2 + 8) { - LOG_TRC("#" << socket->getFD() << ": Still incomplete WebSocket message, have " << len << " bytes"); + LOG_TRC('#' << socket->getFD() << ": Still incomplete WebSocket message, have " << len << " bytes"); return false; } payloadLen = ((((uint64_t)p[9]) << 0) + (((uint64_t)p[8]) << 8) + @@ -241,19 +241,19 @@ public: if (payloadLen + headerLen > len) { // partial read wait for more data. - LOG_TRC("#" << socket->getFD() << ": Still incomplete WebSocket frame, have " << len + LOG_TRC('#' << socket->getFD() << ": Still incomplete WebSocket frame, have " << len << " bytes, frame is " << payloadLen + headerLen << " bytes"); return false; } if (hasMask && _isClient) { - LOG_ERR("#" << socket->getFD() << ": Servers should not send masked frames. Only clients."); + LOG_ERR('#' << socket->getFD() << ": Servers should not send masked frames. Only clients."); shutdown(StatusCodes::PROTOCOL_ERROR); return true; } - LOG_TRC("#" << socket->getFD() << ": Incoming WebSocket data of " << len << " bytes: " + LOG_TRC('#' << socket->getFD() << ": Incoming WebSocket data of " << len << " bytes: " << Util::stringifyHexLine(socket->getInBuffer(), 0, std::min((size_t)32, len))); data = p + headerLen; @@ -266,20 +266,20 @@ public: readPayload(data, payloadLen, mask, ctrlPayload); socket->getInBuffer().erase(socket->getInBuffer().begin(), socket->getInBuffer().begin() + headerLen + payloadLen); - LOG_TRC("#" << socket->getFD() << ": Incoming WebSocket frame code " << static_cast<unsigned>(code) << + LOG_TRC('#' << socket->getFD() << ": Incoming WebSocket frame code " << static_cast<unsigned>(code) << ", fin? " << fin << ", mask? " << hasMask << ", payload length: " << payloadLen << ", residual socket data: " << socket->getInBuffer().size() << " bytes."); // All control frames MUST NOT be fragmented and MUST have a payload length of 125 bytes or less if (!fin) { - LOG_ERR("#" << socket->getFD() << ": A control frame cannot be fragmented."); + LOG_ERR('#' << socket->getFD() << ": A control frame cannot be fragmented."); shutdown(StatusCodes::PROTOCOL_ERROR); return true; } if (payloadLen > 125) { - LOG_ERR("#" << socket->getFD() << ": The payload length of a control frame must not exceed 125 bytes."); + LOG_ERR('#' << socket->getFD() << ": The payload length of a control frame must not exceed 125 bytes."); shutdown(StatusCodes::PROTOCOL_ERROR); return true; } @@ -289,7 +289,7 @@ public: case WSOpCode::Pong: if (_isClient) { - LOG_ERR("#" << socket->getFD() << ": Servers should not send pongs, only clients"); + LOG_ERR('#' << socket->getFD() << ": Servers should not send pongs, only clients"); shutdown(StatusCodes::POLICY_VIOLATION); return true; } @@ -297,7 +297,7 @@ public: { _pingTimeUs = std::chrono::duration_cast<std::chrono::microseconds> (std::chrono::steady_clock::now() - _lastPingSentTime).count(); - LOG_TRC("#" << socket->getFD() << ": Pong received: " << _pingTimeUs << " microseconds"); + LOG_TRC('#' << socket->getFD() << ": Pong received: " << _pingTimeUs << " microseconds"); } break; case WSOpCode::Ping: @@ -310,7 +310,7 @@ public: } else { - LOG_ERR("#" << socket->getFD() << ": Clients should not send pings, only servers"); + LOG_ERR('#' << socket->getFD() << ": Clients should not send pings, only servers"); shutdown(StatusCodes::POLICY_VIOLATION); return true; } @@ -323,7 +323,7 @@ public: { // Peer-initiated shutdown must be echoed. // Otherwise, this is the echo to _our_ shutdown message, which we should ignore. - LOG_TRC("#" << socket->getFD() << ": Peer initiated socket shutdown. Code: " << static_cast<int>(statusCode)); + LOG_TRC('#' << socket->getFD() << ": Peer initiated socket shutdown. Code: " << static_cast<int>(statusCode)); if (ctrlPayload.size()) { statusCode = static_cast<StatusCodes>((((uint64_t)(unsigned char)ctrlPayload[0]) << 8) + @@ -336,7 +336,7 @@ public: return true; } default: - LOG_ERR("#" << socket->getFD() << ": Received unknown control code"); + LOG_ERR('#' << socket->getFD() << ": Received unknown control code"); shutdown(StatusCodes::PROTOCOL_ERROR); break; } @@ -349,14 +349,14 @@ public: { if (code != WSOpCode::Continuation) { - LOG_ERR("#" << socket->getFD() << ": A fragment that is not the first fragment of a message must have the opcode equal to 0."); + LOG_ERR('#' << socket->getFD() << ": A fragment that is not the first fragment of a message must have the opcode equal to 0."); shutdown(StatusCodes::PROTOCOL_ERROR); return true; } } else if (code == WSOpCode::Continuation) { - LOG_ERR("#" << socket->getFD() << ": An unfragmented message or the first fragment of a fragmented message must have the opcode different than 0."); + LOG_ERR('#' << socket->getFD() << ": An unfragmented message or the first fragment of a fragmented message must have the opcode different than 0."); shutdown(StatusCodes::PROTOCOL_ERROR); return true; } @@ -374,7 +374,7 @@ public: #if !MOBILEAPP - LOG_TRC("#" << socket->getFD() << ": Incoming WebSocket frame code " << static_cast<unsigned>(code) << + LOG_TRC('#' << socket->getFD() << ": Incoming WebSocket frame code " << static_cast<unsigned>(code) << ", fin? " << fin << ", mask? " << hasMask << ", payload length: " << payloadLen << ", residual socket data: " << socket->getInBuffer().size() << " bytes, unmasked data: "+ Util::stringifyHexLine(_wsPayload, 0, std::min((size_t)32, _wsPayload.size()))); @@ -460,7 +460,7 @@ private: return; } - LOG_TRC("#" << socket->getFD() << ": Sending " << + LOG_TRC('#' << socket->getFD() << ": Sending " << (const char *)(code == WSOpCode::Ping ? " ping." : "pong.")); // FIXME: allow an empty payload. sendMessage(data, len, code, false); @@ -629,7 +629,7 @@ protected: if (flush) socket->writeOutgoingData(); #else - LOG_TRC("WebSocketHandle::sendFrame: Writing to #" << socket->getFD() << " " << len << " bytes"); + LOG_TRC("WebSocketHandle::sendFrame: Writing to #" << socket->getFD() << ' ' << len << " bytes"); // We ignore the flush parameter and always flush in the MOBILEAPP case because there is no // WebSocket framing, we put the messages as such into the FakeSocket queue. @@ -705,7 +705,7 @@ protected: if (!socket) throw std::runtime_error("Invalid socket while upgrading to WebSocket. Request: " + req.getURI()); - LOG_TRC("#" << socket->getFD() << ": Upgrading to WebSocket."); + LOG_TRC('#' << socket->getFD() << ": Upgrading to WebSocket."); assert(!socket->isWebSocket()); #if !MOBILEAPP @@ -714,7 +714,7 @@ protected: const std::string wsKey = req.get("Sec-WebSocket-Key", ""); const std::string wsProtocol = req.get("Sec-WebSocket-Protocol", "chat"); // FIXME: other sanity checks ... - LOG_INF("#" << socket->getFD() << ": WebSocket version: " << wsVersion << + LOG_INF('#' << socket->getFD() << ": WebSocket version: " << wsVersion << ", key: [" << wsKey << "], protocol: [" << wsProtocol << "]."); #if ENABLE_DEBUG @@ -730,7 +730,7 @@ protected: << "\r\n"; const std::string res = oss.str(); - LOG_TRC("#" << socket->getFD() << ": Sending WS Upgrade response: " << res); + LOG_TRC('#' << socket->getFD() << ": Sending WS Upgrade response: " << res); socket->send(res); #endif setWebSocket(); diff --git a/net/clientnb.cpp b/net/clientnb.cpp index 6d8e7c494..2e00bd4be 100644 --- a/net/clientnb.cpp +++ b/net/clientnb.cpp @@ -75,7 +75,7 @@ public: { Poco::Net::HTTPRequest request( Poco::Net::HTTPRequest::HTTP_POST, - "/ping/" + _session_name + "/" + std::to_string(i)); + "/ping/" + _session_name + '/' + std::to_string(i)); try { Poco::Net::HTMLForm form; form.setEncoding(Poco::Net::HTMLForm::ENCODING_MULTIPART); @@ -85,7 +85,7 @@ public: catch (const Poco::Exception &e) { std::cerr << "Failed to write data: " << e.name() << - " " << e.message() << "\n"; + ' ' << e.message() << '\n'; throw; } } @@ -111,7 +111,7 @@ public: catch (const Poco::Exception &e) { std::cerr << "Exception converting: " << e.name() << - " " << e.message() << "\n"; + ' ' << e.message() << '\n'; throw; } return number; @@ -164,11 +164,11 @@ struct Client : public Poco::Util::Application second.sendPing(count + 1); back = first.getResponseInt(); - std::cerr << "testPing: " << back << "\n"; + std::cerr << "testPing: " << back << '\n'; assert (back == count + 1); back = second.getResponseInt(); - std::cerr << "testPing: " << back << "\n"; + std::cerr << "testPing: " << back << '\n'; assert (back == count + 2); } diff --git a/test/DeltaTests.cpp b/test/DeltaTests.cpp index 1af8acf33..c0ecf22bf 100644 --- a/test/DeltaTests.cpp +++ b/test/DeltaTests.cpp @@ -85,7 +85,7 @@ std::vector<char> DeltaTests::applyDelta( int srcRow = (uint8_t)(delta[i+2]); int destRow = (uint8_t)(delta[i+3]); -// std::cout << "copy " << count <<" row(s) " << srcRow << " to " << destRow << "\n"; +// std::cout << "copy " << count <<" row(s) " << srcRow << " to " << destRow << '\n'; for (int cnt = 0; cnt < count; ++cnt) { const char *src = &pixmap[width * (srcRow + cnt) * 4]; @@ -103,7 +103,7 @@ std::vector<char> DeltaTests::applyDelta( size_t length = (uint8_t)(delta[i+3]); i += 4; -// std::cout << "new " << length << " at " << destCol << ", " << destRow << "\n"; +// std::cout << "new " << length << " at " << destCol << ", " << destRow << '\n'; LOK_ASSERT(length <= width - destCol); char *dest = &output[width * destRow * 4 + destCol * 4]; @@ -112,7 +112,7 @@ std::vector<char> DeltaTests::applyDelta( break; } default: - std::cout << "Unknown delta code " << delta[i] << "\n"; + std::cout << "Unknown delta code " << delta[i] << '\n'; LOK_ASSERT(false); break; } @@ -130,7 +130,7 @@ void DeltaTests::assertEqual(const std::vector<char> &a, { if (a[i] != b[i]) { - std::cout << "Differences starting at byte " << i << " " + std::cout << "Differences starting at byte " << i << ' ' << (i/4 % width) << ", " << (i / (width * 4)) << ":\n"; size_t len; for (len = 0; (a[i+len] != b[i+len] || len < 8) && i + len < a.size(); ++len) @@ -138,9 +138,9 @@ void DeltaTests::assertEqual(const std::vector<char> &a, std::cout << std::hex << (int)((unsigned char)a[i+len]) << " != "; std::cout << std::hex << (int)((unsigned char)b[i+len]) << " "; if (len > 0 && (len % 16 == 0)) - std::cout<< "\n"; + std::cout<< '\n'; } - std::cout << " size " << len << "\n"; + std::cout << " size " << len << '\n'; LOK_ASSERT(false); } } diff --git a/test/TileCacheTests.cpp b/test/TileCacheTests.cpp index 973d6722e..9df566372 100644 --- a/test/TileCacheTests.cpp +++ b/test/TileCacheTests.cpp @@ -326,7 +326,7 @@ void TileCacheTests::testCancelTiles() LOK_ASSERT_MESSAGE("Did not expect getting message [" + res + "].", res.empty()); } - TST_LOG("Unexpected: [" << res << "]"); + TST_LOG("Unexpected: [" << res << ']'); } } } @@ -363,7 +363,7 @@ void TileCacheTests::testCancelTilesMultiView() LOK_ASSERT_MESSAGE("Did not expect getting message [" + res1 + "].", res1.empty()); } - TST_LOG("Unexpected: [" << res1 << "]"); + TST_LOG("Unexpected: [" << res1 << ']'); continue; } @@ -384,7 +384,7 @@ void TileCacheTests::testCancelTilesMultiView() LOK_ASSERT_MESSAGE("Did not expect getting message [" + res2 + "].", res1.empty()); } - TST_LOG("Unexpected: [" << res2 << "]"); + TST_LOG("Unexpected: [" << res2 << ']'); continue; } @@ -1349,11 +1349,11 @@ void TileCacheTests::testTileProcessed() // Store tileID, so we can send it back StringVector tokens(LOOLProtocol::tokenize(tile, ' ')); - std::string tileID = tokens[2].substr(std::string("part=").size()) + ":" + - tokens[5].substr(std::string("tileposx=").size()) + ":" + - tokens[6].substr(std::string("tileposy=").size()) + ":" + - tokens[7].substr(std::string("tileWidth=").size()) + ":" + - tokens[8].substr(std::string("tileHeight=").size()) + ":" + + std::string tileID = tokens[2].substr(std::string("part=").size()) + ':' + + tokens[5].substr(std::string("tileposx=").size()) + ':' + + tokens[6].substr(std::string("tileposy=").size()) + ':' + + tokens[7].substr(std::string("tileWidth=").size()) + ':' + + tokens[8].substr(std::string("tileHeight=").size()) + ':' + tokens[1].substr(std::string("nviewid=").size()); tileIDs.push_back(tileID); } diff --git a/test/UnitAdmin.cpp b/test/UnitAdmin.cpp index 4cb030047..7c1eb0eea 100644 --- a/test/UnitAdmin.cpp +++ b/test/UnitAdmin.cpp @@ -444,7 +444,7 @@ public: ? "FAIL" : (res == TestResult::TimedOut) ? "TIMEOUT" - : "??? (" + std::to_string((int)res) + ")")); + : "??? (" + std::to_string((int)res) + ')')); exitTest(res); assert(false); return; diff --git a/test/UnitClient.cpp b/test/UnitClient.cpp index bd2378eb3..995566912 100644 --- a/test/UnitClient.cpp +++ b/test/UnitClient.cpp @@ -39,7 +39,7 @@ public: bool filterAlertAllusers(const std::string & msg) override { - std::cout << "Alert: " << msg << "\n"; + std::cout << "Alert: " << msg << '\n'; return false; } diff --git a/test/UnitConvert.cpp b/test/UnitConvert.cpp index 4f281ad20..237649d15 100644 --- a/test/UnitConvert.cpp +++ b/test/UnitConvert.cpp @@ -97,7 +97,7 @@ public: } bool filterKitMessage(WebSocketHandler *, std::string &message) override { - std::cerr << "kit message " << message << "\n"; + std::cerr << "kit message " << message << '\n'; if (message.find("load") != std::string::npos) { std::cerr << "Load message received - starting to sleep\n"; diff --git a/test/UnitCopyPaste.cpp b/test/UnitCopyPaste.cpp index ca48667e7..17f7ba381 100644 --- a/test/UnitCopyPaste.cpp +++ b/test/UnitCopyPaste.cpp @@ -82,7 +82,7 @@ public: if (response.getContentType() != "application/octet-stream") { - std::cerr << "Error: mismatching content type for clipboard: " << response.getContentType() << "\n"; + std::cerr << "Error: mismatching content type for clipboard: " << response.getContentType() << '\n'; exitTest(TestResult::Failed); return std::shared_ptr<ClipboardData>(); } @@ -94,7 +94,7 @@ public: std::cerr << "got response\n"; return clipboard; } catch (Poco::Exception &e) { - std::cerr << "Poco exception: " << e.message() << "\n"; + std::cerr << "Poco exception: " << e.message() << '\n'; exitTest(TestResult::Failed); return std::shared_ptr<ClipboardData>(); } @@ -118,7 +118,7 @@ public: } else if (value != content) { - std::cerr << "Error: clipboard content mismatch " << value.length() << " vs. " << content.length() << "\n"; + std::cerr << "Error: clipboard content mismatch " << value.length() << " vs. " << content.length() << '\n'; sleep (1); // output settle. Util::dumpHex(std::cerr, "\tclipboard:\n", "", value); Util::dumpHex(std::cerr, "\tshould be:\n", "", content); @@ -184,7 +184,7 @@ public: if (response.getStatus() != expected) { std::cerr << "Error: response for clipboard "<< response.getStatus() << - " != expected " << expected << "\n"; + " != expected " << expected << '\n'; exitTest(TestResult::Failed); return false; } @@ -205,7 +205,7 @@ public: clientSession = sessions[session]; std::string tag = clientSession->getClipboardURI(false); // nominally thread unsafe - std::cerr << "Got tag '" << tag << "' for session " << session << "\n"; + std::cerr << "Got tag '" << tag << "' for session " << session << '\n'; return tag; } @@ -213,8 +213,8 @@ public: { std::stringstream clipData; clipData << "text/plain;charset=utf-8\n" - << std::hex << text.length() << "\n" - << text << "\n"; + << std::hex << text.length() << '\n' + << text << '\n'; return clipData.str(); } @@ -261,7 +261,7 @@ public: helpers::sendTextFrame(socket, "uno .uno:Copy", testname); std::string existing = "2\t\n3\t\n5\t"; - if (!fetchClipboardAssert(clipURI, "text/plain;charset=utf-8", existing + text + "\n")) + if (!fetchClipboardAssert(clipURI, "text/plain;charset=utf-8", existing + text + '\n')) return; std::cerr << "re-check no clipboard content\n"; @@ -281,7 +281,7 @@ public: std::cerr << "Check the result.\n"; helpers::sendTextFrame(socket, "uno .uno:SelectAll", testname); helpers::sendTextFrame(socket, "uno .uno:Copy", testname); - if (!fetchClipboardAssert(clipURI, "text/plain;charset=utf-8", existing + newcontent + "\n")) + if (!fetchClipboardAssert(clipURI, "text/plain;charset=utf-8", existing + newcontent + '\n')) return; std::cerr << "Setup clipboards:\n"; diff --git a/test/UnitHTTP.cpp b/test/UnitHTTP.cpp index f173638eb..e49853f52 100644 --- a/test/UnitHTTP.cpp +++ b/test/UnitHTTP.cpp @@ -41,6 +41,7 @@ public: void testContinue() { + //FIXME: use logging std::cerr << "testContinue\n"; for (int i = 0; i < 3; ++i) { @@ -188,7 +189,7 @@ public: LOK_ASSERT_MESSAGE("Missing separator, got " + std::string(buffer), ptr); if (!ptr) { - std::cerr << "missing separator " << got << " '" << buffer << "\n"; + std::cerr << "missing separator " << got << " '" << buffer << '\n'; exitTest(TestResult::Failed); return; } @@ -206,14 +207,14 @@ public: buffer[got] = '\0'; else { - std::cerr << "No content returned " << got << "\n"; + std::cerr << "No content returned " << got << '\n'; exitTest(TestResult::Failed); return; } if (strcmp(buffer, "\357\273\277This is some text.\nAnd some more.\n")) { - std::cerr << "unexpected file content " << got << " '" << buffer << "\n"; + std::cerr << "unexpected file content " << got << " '" << buffer << '\n'; exitTest(TestResult::Failed); return; } diff --git a/test/UnitSession.cpp b/test/UnitSession.cpp index f8b859fa1..eabd338da 100644 --- a/test/UnitSession.cpp +++ b/test/UnitSession.cpp @@ -200,7 +200,7 @@ UnitBase::TestResult UnitSession::testSlideShow() std::string encodedDoc; Poco::URI::encode(documentPath, ":/?", encodedDoc); - const std::string path = "/lool/" + encodedDoc + "/" + jail + "/" + dir + "/" + name; + const std::string path = "/lool/" + encodedDoc + '/' + jail + '/' + dir + '/' + name; std::unique_ptr<Poco::Net::HTTPClientSession> session( helpers::createSession(Poco::URI(helpers::getTestServerURI()))); Poco::Net::HTTPRequest requestSVG(Poco::Net::HTTPRequest::HTTP_GET, path); diff --git a/test/UnitTyping.cpp b/test/UnitTyping.cpp index 63835e3b4..ae21c8bcc 100644 --- a/test/UnitTyping.cpp +++ b/test/UnitTyping.cpp @@ -46,7 +46,7 @@ public: bool filterAlertAllusers(const std::string & msg) override { - std::cout << "Alert: " << msg << "\n"; + std::cout << "Alert: " << msg << '\n'; return false; } @@ -235,8 +235,8 @@ public: if (!(num & 0x300)) // occasionally sleep some more - why not. std::this_thread::sleep_for(std::chrono::milliseconds(waitMS*25)); - LOG_TRC("Send to " << which << " message " << msg); -// std::cout << "Send to " << which << " message " << msg << "\n"; + LOG_TRC("Send to " << which << " message " << msg); + // std::cout << "Send to " << which << " message " << msg << '\n'; sendTextFrame(sock, msg, testname); } liveTyping--; @@ -264,12 +264,12 @@ public: results[i] = result; char target = 'a'+i; - LOG_TRC("Result [" << i << "] target " << target << " is '" << result << "'"); + LOG_TRC("Result [" << i << "] target " << target << " is '" << result << '\''); for (size_t j = sizeof("textselectioncontent:"); j < result.size(); ++j) { if (result[j] != ' ' && result[j] != target) { - LOG_TRC("Text contains incorrect char[" << j << "] = '" << result[j] << "' not " << target << " '" << result << "'"); + LOG_TRC("Text contains incorrect char[" << j << "] = '" << result[j] << "' not " << target << " '" << result << '\''); if (result[j] != target) return TestResult::Failed; } diff --git a/test/UnitUNOCommand.cpp b/test/UnitUNOCommand.cpp index e50b1c158..ae420c862 100644 --- a/test/UnitUNOCommand.cpp +++ b/test/UnitUNOCommand.cpp @@ -26,7 +26,7 @@ namespace { void testStateChanged(const std::string& filename, std::set<std::string>& commands) { - const auto testname = "stateChanged_" + filename + " "; + const auto testname = "stateChanged_" + filename + ' '; Poco::RegularExpression reUno("\\.[a-zA-Z]*\\:[a-zA-Z]*\\="); diff --git a/test/countloolkits.hpp b/test/countloolkits.hpp index 4948e97fc..d1ebd57cd 100644 --- a/test/countloolkits.hpp +++ b/test/countloolkits.hpp @@ -71,7 +71,7 @@ static int countLoolKitProcesses(const int expected) std::ostringstream oss; oss << "Test kit pids are "; for (auto i : pids) - oss << i << " "; + oss << i << ' '; TST_LOG(oss.str()); return count; diff --git a/test/fakesockettest.cpp b/test/fakesockettest.cpp index 1b5573359..acc2ea952 100644 --- a/test/fakesockettest.cpp +++ b/test/fakesockettest.cpp @@ -51,7 +51,7 @@ public: { fakeSocketSetLoggingCallback([](const std::string& line) { - std::cerr << line << "\n"; + std::cerr << line << '\n'; }); } diff --git a/test/helpers.hpp b/test/helpers.hpp index bbbf3fc2a..d7bd71fdb 100644 --- a/test/helpers.hpp +++ b/test/helpers.hpp @@ -324,7 +324,7 @@ std::vector<char> getResponseMessage(LOOLWebSocket& ws, const std::string& prefi { if (LOOLProtocol::matchPrefix(prefix, message)) { - TST_LOG("[" << prefix << "] Matched " << + TST_LOG('[' << prefix << "] Matched " << LOOLWebSocket::getAbbreviatedFrameDump(response.data(), bytes, flags)); return response; } @@ -348,7 +348,7 @@ std::vector<char> getResponseMessage(LOOLWebSocket& ws, const std::string& prefi throw std::runtime_error(message); } - TST_LOG("[" << prefix << "] Ignored " << + TST_LOG('[' << prefix << "] Ignored " << LOOLWebSocket::getAbbreviatedFrameDump(response.data(), bytes, flags)); } } @@ -674,7 +674,7 @@ inline void saveTileAs(const std::vector<char> &tileResponse, std::fstream outStream(filename, std::ios::out); outStream.write(res.data(), res.size()); outStream.close(); - TST_LOG("Saved [" << firstLine << "] to [" << filename << "]"); + TST_LOG("Saved [" << firstLine << "] to [" << filename << ']'); } inline std::vector<char> getTileAndSave(std::shared_ptr<LOOLWebSocket>& socket, @@ -741,7 +741,7 @@ inline bool svgMatch(const char *testname, const std::vector<char> &response, co TST_LOG_APPEND(std::string(expectedSVG.data(), expectedSVG.size())); std::string newName = templateFile; newName += ".new"; - TST_LOG_APPEND("Updated template writing to: " << newName << "\n"); + TST_LOG_APPEND("Updated template writing to: " << newName << '\n'); TST_LOG_END; FILE *of = fopen(Poco::Path(TDOC, newName).toString().c_str(), "w"); diff --git a/test/lokassert.hpp b/test/lokassert.hpp index bf50a8ef3..612161b69 100644 --- a/test/lokassert.hpp +++ b/test/lokassert.hpp @@ -47,7 +47,7 @@ inline std::ostream& operator<<(std::ostream& os, const std::vector<char>& v) if (!((expected) == (actual))) \ { \ std::cerr << "Assertion failure: Expected [" << (expected) << "] but got [" \ - << (actual) << "]" << std::endl; \ + << (actual) << ']' << std::endl; \ LOK_ASSERT_IMPL((expected) == (actual)); \ CPPUNIT_ASSERT_EQUAL((expected), (actual)); \ } \ diff --git a/tools/Config.cpp b/tools/Config.cpp index 86339915a..9c4093910 100644 --- a/tools/Config.cpp +++ b/tools/Config.cpp @@ -289,8 +289,8 @@ int Config::main(const std::vector<std::string>& args) const std::string passwordHash = stream.str(); std::stringstream pwdConfigValue("pbkdf2.sha512.", std::ios_base::in | std::ios_base::out | std::ios_base::ate); - pwdConfigValue << std::to_string(_adminConfig.getPwdIterations()) << "."; - pwdConfigValue << saltHash << "." << passwordHash; + pwdConfigValue << std::to_string(_adminConfig.getPwdIterations()) << '.'; + pwdConfigValue << saltHash << '.' << passwordHash; _loolConfig.setString("admin_console.username", adminUser); _loolConfig.setString("admin_console.secure_password[@desc]", "Salt and password hash combination generated using PBKDF2 with SHA512 digest."); @@ -348,8 +348,8 @@ int Config::main(const std::vector<std::string>& args) if (_loolConfig.has(args[1])) { const std::string val = _loolConfig.getString(args[1]); - std::cout << "Previous value found in config file: \"" << val << "\"" << std::endl; - std::cout << "Changing value to: \"" << args[2] << "\"" << std::endl; + std::cout << "Previous value found in config file: \"" << val << '"' << std::endl; + std::cout << "Changing value to: \"" << args[2] << '"' << std::endl; _loolConfig.setString(args[1], args[2]); changed = true; } @@ -388,7 +388,7 @@ int Config::main(const std::vector<std::string>& args) } else { - std::cerr << "No such command, \"" << args[0] << "\"" << std::endl; + std::cerr << "No such command, \"" << args[0] << '"' << std::endl; displayHelp(); } diff --git a/tools/Connect.cpp b/tools/Connect.cpp index 0a115960b..32172da5c 100644 --- a/tools/Connect.cpp +++ b/tools/Connect.cpp @@ -209,7 +209,7 @@ protected: { { std::unique_lock<std::mutex> lock(coutMutex); - std::cout << "Sending: '" << line << "'" << std::endl; + std::cout << "Sending: '" << line << '\'' << std::endl; } ws.sendFrame(line.c_str(), line.size()); } diff --git a/tools/KitClient.cpp b/tools/KitClient.cpp index 54d270677..b3fa02a62 100644 --- a/tools/KitClient.cpp +++ b/tools/KitClient.cpp @@ -112,7 +112,7 @@ protected: std::cout << LOKitHelper::documentStatus(loKitDocument) << std::endl; for (int i = 0; i < loKitDocument->pClass->getParts(loKitDocument); i++) { - std::cout << " " << i << ": '" << loKitDocument->pClass->getPartName(loKitDocument, i) << "'" << std::endl; + std::cout << " " << i << ": '" << loKitDocument->pClass->getPartName(loKitDocument, i) << '\'' << std::endl; } } else if (tokens.equals(0, "tile")) diff --git a/tools/Replay.hpp b/tools/Replay.hpp index 4417814e6..a2e7e661b 100644 --- a/tools/Replay.hpp +++ b/tools/Replay.hpp @@ -192,7 +192,7 @@ protected: } else { - std::cout << "New Document: " << uri << "\n"; + std::cout << "New Document: " << uri << '\n'; _childToDoc.emplace(rec.getPid(), uri); std::shared_ptr<Connection> connection = Connection::create(_serverUri, uri, rec.getSessionId()); if (connection) @@ -209,7 +209,7 @@ protected: auto it = _sessions.find(uri); if (it != _sessions.end()) { - std::cout << "EndSession [" << rec.getSessionId() << "]: " << uri << "\n"; + std::cout << "EndSession [" << rec.getSessionId() << "]: " << uri << '\n'; it->second.erase(rec.getSessionId()); if (it->second.empty()) diff --git a/tools/Tool.cpp b/tools/Tool.cpp index 91c9164b6..f62c57177 100644 --- a/tools/Tool.cpp +++ b/tools/Tool.cpp @@ -115,7 +115,7 @@ public: catch (const Poco::Exception &e) { std::cerr << "Failed to write data: " << e.name() << - " " << e.message() << "\n"; + ' ' << e.message() << '\n'; return; } @@ -126,7 +126,7 @@ public: std::istream& responseStream = session->receiveResponse(response); Poco::Path path(document); - std::string outPath = _app.getDestinationDir() + "/" + path.getBaseName() + "." + _app.getDestinationFormat(); + std::string outPath = _app.getDestinationDir() + '/' + path.getBaseName() + '.' + _app.getDestinationFormat(); std::ofstream fileStream(outPath); Poco::StreamCopier::copyStream(responseStream, fileStream); @@ -134,7 +134,7 @@ public: catch (const Poco::Exception &e) { std::cerr << "Exception converting: " << e.name() << - " " << e.message() << "\n"; + ' ' << e.message() << '\n'; return; } diff --git a/tools/WebSocketDump.cpp b/tools/WebSocketDump.cpp index 711cbaca9..7a592c550 100644 --- a/tools/WebSocketDump.cpp +++ b/tools/WebSocketDump.cpp @@ -63,7 +63,7 @@ private: void onConnect(const std::shared_ptr<StreamSocket>& socket) override { _socket = socket; - LOG_TRC("#" << socket->getFD() << " Connected to ClientRequestDispatcher."); + LOG_TRC('#' << socket->getFD() << " Connected to ClientRequestDispatcher."); } /// Called after successful socket reads. @@ -77,7 +77,7 @@ private: } std::vector<char>& in = socket->getInBuffer(); - LOG_TRC("#" << socket->getFD() << " handling incoming " << in.size() << " bytes."); + LOG_TRC('#' << socket->getFD() << " handling incoming " << in.size() << " bytes."); // Find the end of the header, if any. static const std::string marker("\r\n\r\n"); @@ -85,7 +85,7 @@ private: marker.begin(), marker.end()); if (itBody == in.end()) { - LOG_DBG("#" << socket->getFD() << " doesn't have enough data yet."); + LOG_DBG('#' << socket->getFD() << " doesn't have enough data yet."); return; } @@ -101,7 +101,7 @@ private: Log::StreamLogger logger = Log::info(); if (logger.enabled()) { - logger << "#" << socket->getFD() << ": Client HTTP Request: " + logger << '#' << socket->getFD() << ": Client HTTP Request: " << request.getMethod() << ' ' << request.getURI() << ' ' << request.getVersion(); @@ -172,7 +172,7 @@ private: socket->shutdown(); // NOTE: Check _wsState to choose between HTTP response or WebSocket (app-level) error. - LOG_INF("#" << socket->getFD() << " Exception while processing incoming request: [" << + LOG_INF('#' << socket->getFD() << " Exception while processing incoming request: [" << LOOLProtocol::getAbbreviatedMessage(in) << "]: " << exc.what()); } diff --git a/tools/map.cpp b/tools/map.cpp index 7c36f93d1..472abe589 100644 --- a/tools/map.cpp +++ b/tools/map.cpp @@ -301,7 +301,7 @@ static void dumpDiff(const AddrSpace &space, haveAnnots = true; } str.resize(24, ' '); - annots << str << " "; + annots << str << ' '; } if (haveAnnots) printf ("annot: %s\n", annots.str().c_str()); diff --git a/wsd/Admin.cpp b/wsd/Admin.cpp index 5e6668326..b02e88883 100644 --- a/wsd/Admin.cpp +++ b/wsd/Admin.cpp @@ -94,7 +94,7 @@ void AdminSocketHandler::handleMessage(const std::vector<char> &payload) if (!_isAuthenticated) { LOG_DBG("Not authenticated - message is '" << firstLine << "' " << - tokens.size() << " first: '" << tokens[0] << "'"); + tokens.size() << " first: '" << tokens[0] << '\''); sendMessage("NotAuthenticated"); shutdown(); return; @@ -321,11 +321,11 @@ void AdminSocketHandler::sendTextFrame(const std::string& message) if (_isAuthenticated) { - LOG_TRC("send admin text frame '" << message << "'"); + LOG_TRC("send admin text frame '" << message << '\''); sendMessage(message); } else - LOG_TRC("Skip sending message to non-authenticated client: '" << message << "'"); + LOG_TRC("Skip sending message to non-authenticated client: '" << message << '\''); } void AdminSocketHandler::subscribeAsync(const std::shared_ptr<AdminSocketHandler>& handler) @@ -596,7 +596,7 @@ std::string Admin::getChannelLogLevels() for (size_t i = 0; i < nameList.size(); i++) { - result += (nameList[i] != "" ? nameList[i]: "?") + "=" + levelList[Log::logger().get(nameList[i]).getLevel()] + (i != nameList.size() - 1 ? " ": ""); + result += (nameList[i] != "" ? nameList[i]: "?") + '=' + levelList[Log::logger().get(nameList[i]).getLevel()] + (i != nameList.size() - 1 ? " ": ""); } return result; @@ -861,7 +861,7 @@ void Admin::start() for (size_t i = 0; ; ++i) { - const std::string path = "monitors.monitor[" + std::to_string(i) + "]"; + const std::string path = "monitors.monitor[" + std::to_string(i) + ']'; const std::string uri = config.getString(path, ""); if (!config.has(path)) break; diff --git a/wsd/AdminModel.cpp b/wsd/AdminModel.cpp index 9579a4e51..a5ccea5c3 100644 --- a/wsd/AdminModel.cpp +++ b/wsd/AdminModel.cpp @@ -69,7 +69,7 @@ std::pair<std::time_t, std::string> Document::getSnapshot() const { std::time_t ct = std::time(nullptr); std::ostringstream oss; - oss << "{"; + oss << '{'; oss << "\"creationTime\"" << ":" << ct << ","; oss << "\"memoryDirty\"" << ":" << getMemoryDirty() << ","; oss << "\"activeViews\"" << ":" << getActiveViews() << ","; @@ -78,12 +78,12 @@ std::pair<std::time_t, std::string> Document::getSnapshot() const std::string separator; for (const auto& view : getViews()) { - oss << separator << "\""; + oss << separator << '"'; if(view.second.isExpired()) { - oss << "-"; + oss << '-'; } - oss << view.first << "\""; + oss << view.first << '"'; separator = ","; } oss << "],"; @@ -726,12 +726,12 @@ std::string AdminModel::getDocuments() const separator = ','; } } - oss << "]" - << "}"; + oss << ']' + << '}'; separator1 = ','; } } - oss << "]" << "}"; + oss << ']' << '}'; return oss.str(); } @@ -861,10 +861,10 @@ public: std::string newUnit = std::string(unit && unit[0] ? "_" : "") + unit; std::string newPrefix = prefix + std::string(prefix && prefix[0] ? "_" : ""); - oss << newPrefix << "total" << newUnit << " " << _total << std::endl; - oss << newPrefix << "average" << newUnit << " " << getIntAverage() << std::endl; - oss << newPrefix << "min" << newUnit << " " << getMin() << std::endl; - oss << newPrefix << "max" << newUnit << " " << _max << std::endl; + oss << newPrefix << "total" << newUnit << ' ' << _total << std::endl; + oss << newPrefix << "average" << newUnit << ' ' << getIntAverage() << std::endl; + oss << newPrefix << "min" << newUnit << ' ' << getMin() << std::endl; + oss << newPrefix << "max" << newUnit << ' ' << _max << std::endl; } private: diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp index 3f37c88c4..d9e6eb0a4 100644 --- a/wsd/ClientSession.cpp +++ b/wsd/ClientSession.cpp @@ -885,7 +885,7 @@ bool ClientSession::sendFontRendering(const char *buffer, int length, const Stri TileCache::Tile cachedTile = docBroker->tileCache().lookupCachedStream(TileCache::StreamType::Font, font+text); if (cachedTile) { - const std::string response = "renderfont: " + tokens.cat(std::string(" "), 1) + "\n"; + const std::string response = "renderfont: " + tokens.cat(std::string(" "), 1) + '\n'; return sendTile(response, cachedTile); } @@ -1047,7 +1047,7 @@ void ClientSession::postProcessCopyPayload(std::shared_ptr<Message> payload) if (pos != std::string::npos) // assume text/html { const std::string meta = getClipboardURI(); - LOG_TRC("Inject clipboard meta origin of '" << meta << "'"); + LOG_TRC("Inject clipboard meta origin of '" << meta << '\''); const std::string origin = "<meta name=\"origin\" content=\"" + meta + "\"/>\n"; data.insert(data.begin() + pos, origin.begin(), origin.end()); return true; @@ -1269,7 +1269,7 @@ bool ClientSession::handleKitToClientMessage(const char* buffer, const int lengt const std::string fileName = Poco::Path(resultURL.getPath()).getFileName(); Poco::Net::HTTPResponse response; if (!fileName.empty()) - response.set("Content-Disposition", "attachment; filename=\"" + fileName + "\""); + response.set("Content-Disposition", "attachment; filename=\"" + fileName + '"'); HttpHelper::sendFile(_saveAsSocket, encodedFilePath, mimeType, response); } @@ -1721,8 +1721,8 @@ void ClientSession::dumpState(std::ostream& os) << "\n\t\tkeyEvents: " << _keyEvents // << "\n\t\tvisibleArea: " << _clientVisibleArea << "\n\t\tclientSelectedPart: " << _clientSelectedPart - << "\n\t\ttile size Pixel: " << _tileWidthPixel << "x" << _tileHeightPixel - << "\n\t\ttile size Twips: " << _tileWidthTwips << "x" << _tileHeightTwips + << "\n\t\ttile size Pixel: " << _tileWidthPixel << 'x' << _tileHeightPixel + << "\n\t\ttile size Twips: " << _tileWidthTwips << 'x' << _tileHeightTwips << "\n\t\tkit ViewId: " << _kitViewId << "\n\t\tour URL (un-trusted): " << _serverURL.getSubURLForEndpoint("") << "\n\t\tisTextDocument: " << _isTextDocument @@ -1738,7 +1738,7 @@ void ClientSession::dumpState(std::ostream& os) os << "\n\t\tsent/keystroke: " << (double)sent/_keyEvents << "bytes"; } - os << "\n"; + os << '\n'; _senderQueue.dumpState(os); } diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp index 717adec15..a3dece823 100644 --- a/wsd/DocumentBroker.cpp +++ b/wsd/DocumentBroker.cpp @@ -205,7 +205,7 @@ DocumentBroker::DocumentBroker(ChildType type, assert(!LOOLWSD::ChildRoot.empty()); LOG_INF("DocumentBroker [" << LOOLWSD::anonymizeUrl(_uriPublic.toString()) << - "] created with docKey [" << _docKey << "]"); + "] created with docKey [" << _docKey << ']'); } void DocumentBroker::setupPriorities() @@ -729,7 +729,7 @@ bool DocumentBroker::load(const std::shared_ptr<ClientSession>& session, const s #endif LOG_DBG("Setting username [" << LOOLWSD::anonymizeUsername(username) << "] and userId [" << - LOOLWSD::anonymizeUsername(userId) << "] for session [" << sessionId << "]"); + LOOLWSD::anonymizeUsername(userId) << "] for session [" << sessionId << ']'); session->setUserId(userId); session->setUserName(username); @@ -799,7 +799,7 @@ bool DocumentBroker::load(const std::shared_ptr<ClientSession>& session, const s // Extension matches, try the conversion. We convert the file to another one in // the same (jail) directory, with just the new extension tacked on. - const std::string newRootPath = _storage->getRootFilePath() + "." + newExtension; + const std::string newRootPath = _storage->getRootFilePath() + '.' + newExtension; // The commandline must contain the space-separated substring @INPUT@ that is // replaced with the input file name, and @OUTPUT@ for the output file name. @@ -838,7 +838,7 @@ bool DocumentBroker::load(const std::shared_ptr<ClientSession>& session, const s } _storage->setRootFilePath(newRootPath); - localPath += "." + newExtension; + localPath += '.' + newExtension; } // We successfully converted the file to something LO can use; break out of the for @@ -996,7 +996,7 @@ bool DocumentBroker::saveToStorageInternal(const std::string& sessionId, bool su const std::string newFilename = Util::getFilenameFromURL(uri); const std::string fileId = Util::getFilenameFromURL(_docKey); if (LOOLWSD::AnonymizeUserData) - LOG_DBG("New filename [" << LOOLWSD::anonymizeUrl(newFilename) << "] will be known by its fileId [" << fileId << "]"); + LOG_DBG("New filename [" << LOOLWSD::anonymizeUrl(newFilename) << "] will be known by its fileId [" << fileId << ']'); Util::mapAnonymized(newFilename, fileId); const std::string uriAnonym = LOOLWSD::anonymizeUrl(uri); @@ -1258,31 +1258,31 @@ bool DocumentBroker::sendUnoSave(const std::string& sessionId, bool dontTerminat std::ostringstream oss; // arguments init - oss << "{"; + oss << '{'; if (dontTerminateEdit) { oss << "\"DontTerminateEdit\":" - << "{" - << "\"type\":\"boolean\"," - << "\"value\":true" - << "}"; + "{" + "\"type\":\"boolean\"," + "\"value\":true" + "}"; } if (dontSaveIfUnmodified) { if (dontTerminateEdit) - oss << ","; + oss << ','; oss << "\"DontSaveIfUnmodified\":" - << "{" - << "\"type\":\"boolean\"," - << "\"value\":true" - << "}"; + "{" + "\"type\":\"boolean\"," + "\"value\":true" + "}"; } // arguments end - oss << "}"; + oss << '}'; assert(_storage); _storage->setIsAutosave(isAutosave || UnitWSD::get().isAutosave()); @@ -1958,7 +1958,7 @@ void DocumentBroker::handleTileResponse(const std::vector<char>& payload) } catch (const std::exception& exc) { - LOG_ERR("Failed to process tile response [" << firstLine << "]: " << exc.what() << "."); + LOG_ERR("Failed to process tile response [" << firstLine << "]: " << exc.what() << '.'); } } @@ -1992,7 +1992,7 @@ void DocumentBroker::handleTileCombinedResponse(const std::vector<char>& payload } catch (const std::exception& exc) { - LOG_ERR("Failed to process tile response [" << firstLine << "]: " << exc.what() << "."); + LOG_ERR("Failed to process tile response [" << firstLine << "]: " << exc.what() << '.'); } } @@ -2393,7 +2393,7 @@ void DocumentBroker::dumpState(std::ostream& os) else os << "\n still loading... " << std::chrono::duration_cast<std::chrono::seconds>( - now - _threadStart).count() << "s"; + now - _threadStart).count() << 's'; os << "\n sent: " << sent; os << "\n recv: " << recv; os << "\n modified?: " << isModified(); diff --git a/wsd/FileServer.cpp b/wsd/FileServer.cpp index b7cd523a3..791e6313f 100644 --- a/wsd/FileServer.cpp +++ b/wsd/FileServer.cpp @@ -466,7 +466,7 @@ void FileServerRequestHandler::handleRequest(const HTTPRequest& request, std::ostringstream oss; response.write(oss); const std::string header = oss.str(); - LOG_TRC("#" << socket->getFD() << ": Sending " << + LOG_TRC('#' << socket->getFD() << ": Sending " << (!gzip ? "un":"") << "compressed : file [" << relPath << "]: " << header); socket->send(header); socket->send(*content); @@ -544,8 +544,7 @@ void FileServerRequestHandler::readDirToHash(const std::string &basePath, const ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits