From e2be03e254a956024c9d67b19b8a809c9692b6f1 Mon Sep 17 00:00:00 2001 From: Manjeet Dahiya Date: Tue, 20 Oct 2009 11:43:45 +0000 Subject: Using QXmlStreamWriter for directly writing to the socket. This will avoid string concatenations and problems with XML escaping rules. and Fix for Issue 19: XMPP Version < 1.0 send NonSASL Auth query --- source/QXmppUtils.cpp | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'source/QXmppUtils.cpp') diff --git a/source/QXmppUtils.cpp b/source/QXmppUtils.cpp index b34f9902..c4b50fe0 100644 --- a/source/QXmppUtils.cpp +++ b/source/QXmppUtils.cpp @@ -25,7 +25,7 @@ #include "QXmppUtils.h" #include "QXmppLogger.h" #include -#include +#include #include #include #include @@ -41,30 +41,25 @@ QString jidToBareJid(const QString& jid) return jid.left(jid.indexOf(QChar('/'))); } -void helperToXmlAddAttribute(QTextStream& stream, const QString& name, +void helperToXmlAddAttribute(QXmlStreamWriter* stream, const QString& name, const QString& value) { if(!value.isEmpty()) - stream << " " << name <<"='" << value << "'"; + stream->writeAttribute(name,value); } -void helperToXmlAddElement(QTextStream& stream, const QString& name, int value) +void helperToXmlAddNumberElement(QXmlStreamWriter* stream, const QString& name, int value) { - stream << "<" << name << ">" << value << ""; + stream->writeTextElement( name, QString::number(value)); } -void helperToXmlAddElement(QTextStream& stream, const QString& name, +void helperToXmlAddTextElement(QXmlStreamWriter* stream, const QString& name, const QString& value) { if(!value.isEmpty()) - stream << "<" << name << ">" << value << ""; -} - -void helperToXmlAddElement(QTextStream& stream, const QString& name, - const QByteArray& value) -{ - if(!value.isEmpty()) - stream << "<" << name << ">" << value << ""; + stream->writeTextElement( name, value); + else + stream->writeEmptyElement(name); } void log(const QString& str) -- cgit v1.2.3