diff options
| author | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-20 11:43:45 +0000 |
|---|---|---|
| committer | Manjeet Dahiya <manjeetdahiya@gmail.com> | 2009-10-20 11:43:45 +0000 |
| commit | e2be03e254a956024c9d67b19b8a809c9692b6f1 (patch) | |
| tree | 4da3e5da19d109bf34d02ed9359065c73be176ab /source/QXmppUtils.cpp | |
| parent | a9d542be47e91ae39390247f8c8bbb21d588388f (diff) | |
| download | qxmpp-e2be03e254a956024c9d67b19b8a809c9692b6f1.tar.gz | |
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
Diffstat (limited to 'source/QXmppUtils.cpp')
| -rw-r--r-- | source/QXmppUtils.cpp | 23 |
1 files changed, 9 insertions, 14 deletions
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 <QString>
-#include <QTextStream>
+#include <QXmlStreamWriter>
#include <QByteArray>
#include <QBuffer>
#include <QImageReader>
@@ -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 << "</" << name << ">";
+ 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 << "</" << name << ">";
-}
-
-void helperToXmlAddElement(QTextStream& stream, const QString& name,
- const QByteArray& value)
-{
- if(!value.isEmpty())
- stream << "<" << name << ">" << value << "</" << name << ">";
+ stream->writeTextElement( name, value);
+ else
+ stream->writeEmptyElement(name);
}
void log(const QString& str)
|
