summaryrefslogtreecommitdiffstats
path: root/src/xml/dom/qdom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xml/dom/qdom.cpp')
-rw-r--r--src/xml/dom/qdom.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp
index 91796106a2..cffc1974af 100644
--- a/src/xml/dom/qdom.cpp
+++ b/src/xml/dom/qdom.cpp
@@ -48,8 +48,12 @@
#include <qhash.h>
#include <qiodevice.h>
#include <qlist.h>
-#include <qregexp.h>
+#if QT_CONFIG(regularexpression)
+#include <qregularexpression.h>
+#endif
+#if QT_CONFIG(textcodec)
#include <qtextcodec.h>
+#endif
#include <qtextstream.h>
#include <qxml.h>
#include "private/qxml_p.h"
@@ -4149,7 +4153,7 @@ static QString encodeText(const QString &str,
const bool performAVN = false,
const bool encodeEOLs = false)
{
-#ifdef QT_NO_TEXTCODEC
+#if !QT_CONFIG(textcodec)
Q_UNUSED(s);
#else
const QTextCodec *const codec = s.codec();
@@ -4191,7 +4195,7 @@ static QString encodeText(const QString &str,
len += 4;
i += 5;
} else {
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec)
if(codec->canEncode(ati))
++i;
else
@@ -5179,7 +5183,7 @@ QDomNodePrivate* QDomTextPrivate::cloneNode(bool deep)
QDomTextPrivate* QDomTextPrivate::splitText(int offset)
{
if (!parent()) {
- qWarning("QDomText::splitText The node has no parent. So I can not split");
+ qWarning("QDomText::splitText The node has no parent. So I cannot split");
return 0;
}
@@ -6428,7 +6432,7 @@ void QDomDocumentPrivate::saveDocument(QTextStream& s, const int indent, QDomNod
const QDomNodePrivate* n = first;
if(encUsed == QDomNode::EncodingFromDocument) {
-#ifndef QT_NO_TEXTCODEC
+#if QT_CONFIG(textcodec) && QT_CONFIG(regularexpression)
const QDomNodePrivate* n = first;
QTextCodec *codec = 0;
@@ -6436,11 +6440,11 @@ void QDomDocumentPrivate::saveDocument(QTextStream& s, const int indent, QDomNod
if (n && n->isProcessingInstruction() && n->nodeName() == QLatin1String("xml")) {
// we have an XML declaration
QString data = n->nodeValue();
- QRegExp encoding(QString::fromLatin1("encoding\\s*=\\s*((\"([^\"]*)\")|('([^']*)'))"));
- encoding.indexIn(data);
- QString enc = encoding.cap(3);
+ QRegularExpression encoding(QString::fromLatin1("encoding\\s*=\\s*((\"([^\"]*)\")|('([^']*)'))"));
+ auto match = encoding.match(data);
+ QString enc = match.captured(3);
if (enc.isEmpty())
- enc = encoding.cap(5);
+ enc = match.captured(5);
if (!enc.isEmpty())
codec = QTextCodec::codecForName(std::move(enc).toLatin1());
}
@@ -6464,7 +6468,7 @@ void QDomDocumentPrivate::saveDocument(QTextStream& s, const int indent, QDomNod
else {
// Write out the XML declaration.
-#ifdef QT_NO_TEXTCODEC
+#if !QT_CONFIG(textcodec)
const QLatin1String codecName("iso-8859-1");
#else
const QTextCodec *const codec = s.codec();