diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-08-16 15:31:06 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-20 21:59:32 +0200 |
commit | ce9b010ec619aa6e5f19b6ae208b76a4e398b20b (patch) | |
tree | 7eccc6c7a4a5654dae1956df4a3f262dd8c0f109 /src/corelib/io/qurl.cpp | |
parent | 60818231d82ca34f1d33ccb9ba7500b5470a3d0d (diff) |
Fix decoding of QByteArray in the deprecated "encoded" setters in QUrl
The asymmetry is intentional: the getters can use toLatin1() because the
called functions, with a QUrl::FullyEncoded parameter, return ASCII
only. This gives a small performance improvement over the need to run
the UTF-8 encoder.
However, the data passed to setters could contain non-ASCII binary data,
in addition to the percent-encoded data. We can't use fromUtf8 because
it's binary and we can't use toPercentEncoded because it already encoded.
Change-Id: I5ecdb49be5af51ac86fd9764eb3a6aa96385f512
Reviewed-by: David Faure <faure@kde.org>
Diffstat (limited to 'src/corelib/io/qurl.cpp')
-rw-r--r-- | src/corelib/io/qurl.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index 3b49b82637..cc326566c8 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -2979,6 +2979,17 @@ QByteArray QUrl::toPercentEncoding(const QString &input, const QByteArray &exclu } /*! + \internal + \since 5.0 + Used in the setEncodedXXX compatibility functions. Converts \a ba to + QString form. +*/ +QString QUrl::fromEncodedComponent_helper(const QByteArray &ba) +{ + return qt_urlRecodeByteArray(ba); +} + +/*! \fn QByteArray QUrl::toPunycode(const QString &uc) \obsolete Returns a \a uc in Punycode encoding. |