From: Marcus Eggenberger Date: Sat, 25 Oct 2008 22:01:27 +0000 (+0200) Subject: Note to myself: QByteArray("\000") != QByteArray (1, '\000') X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=refs%2Fheads%2F0.2 Note to myself: QByteArray("\000") != QByteArray (1, '\000') --- diff --git a/src/core/ctcphandler.cpp b/src/core/ctcphandler.cpp index 4089578d..b7fe6c90 100644 --- a/src/core/ctcphandler.cpp +++ b/src/core/ctcphandler.cpp @@ -30,9 +30,9 @@ CtcpHandler::CtcpHandler(NetworkConnection *parent) { QByteArray MQUOTE = QByteArray("\020"); - ctcpMDequoteHash[MQUOTE + '0'] = QByteArray("\000"); - ctcpMDequoteHash[MQUOTE + 'n'] = QByteArray("\n"); - ctcpMDequoteHash[MQUOTE + 'r'] = QByteArray("\r"); + ctcpMDequoteHash[MQUOTE + '0'] = QByteArray(1, '\000'); + ctcpMDequoteHash[MQUOTE + 'n'] = QByteArray(1, '\n'); + ctcpMDequoteHash[MQUOTE + 'r'] = QByteArray(1, '\r'); ctcpMDequoteHash[MQUOTE + MQUOTE] = MQUOTE; QByteArray XQUOTE = QByteArray("\134"); @@ -42,8 +42,14 @@ CtcpHandler::CtcpHandler(NetworkConnection *parent) QByteArray CtcpHandler::lowLevelQuote(const QByteArray &message) { QByteArray quotedMessage = message; - QHash::const_iterator quoteIter = ctcpMDequoteHash.constBegin(); - while(quoteIter != ctcpMDequoteHash.constEnd()) { + + QHash quoteHash = ctcpMDequoteHash; + QByteArray MQUOTE = QByteArray("\020"); + quoteHash.remove(MQUOTE + MQUOTE); + quotedMessage.replace(MQUOTE, MQUOTE + MQUOTE); + + QHash::const_iterator quoteIter = quoteHash.constBegin(); + while(quoteIter != quoteHash.constEnd()) { quotedMessage.replace(quoteIter.value(), quoteIter.key()); quoteIter++; }