diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2016-02-23 22:37:17 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-02-24 17:14:30 +0000 |
commit | c05f2985eb90c7e18dee99676f0a5da3239e30b9 (patch) | |
tree | 7c625d4653ed7d6c84cba3be5493885774077fad /src/corelib/mimetypes/qmimetypeparser.cpp | |
parent | aca859cbc4c599e0c996dd2f3df148d59e3f590a (diff) |
QMimeTypeParser: scope a variable better
The variable being a QVector, this means replacing
default construction followed by one move-assignment
per loop iteration with a StartElement state with
RVO-catching a return value.
Saves ~320b in text size on optimized GCC 5.3 Linux
AMD64 builds.
Change-Id: I618d31ad0816f9ad1a89a6b2e39481258f1e0878
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/mimetypes/qmimetypeparser.cpp')
-rw-r--r-- | src/corelib/mimetypes/qmimetypeparser.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/mimetypes/qmimetypeparser.cpp b/src/corelib/mimetypes/qmimetypeparser.cpp index cdb50b25e7..9ed345d37e 100644 --- a/src/corelib/mimetypes/qmimetypeparser.cpp +++ b/src/corelib/mimetypes/qmimetypeparser.cpp @@ -206,12 +206,11 @@ bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString QList<QMimeMagicRule> rules; // toplevel rules QXmlStreamReader reader(dev); ParseState ps = ParseBeginning; - QXmlStreamAttributes atts; while (!reader.atEnd()) { switch (reader.readNext()) { - case QXmlStreamReader::StartElement: + case QXmlStreamReader::StartElement: { ps = nextState(ps, reader.name()); - atts = reader.attributes(); + const QXmlStreamAttributes atts = reader.attributes(); switch (ps) { case ParseMimeType: { // start parsing a MIME type name const QString name = atts.value(QLatin1String(mimeTypeAttributeC)).toString(); @@ -297,6 +296,7 @@ bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString default: break; } + } break; // continue switch QXmlStreamReader::Token... case QXmlStreamReader::EndElement: // Finished element |