diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/io/qurl.cpp | 14 | ||||
-rw-r--r-- | src/corelib/io/qurl.h | 7 | ||||
-rw-r--r-- | src/corelib/io/qurlquery.cpp | 18 | ||||
-rw-r--r-- | src/corelib/io/qurlrecode.cpp | 2 | ||||
-rw-r--r-- | src/testlib/qtest.h | 2 |
5 files changed, 19 insertions, 24 deletions
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index f3c05af413..0821645111 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -445,7 +445,7 @@ recodeFromUser(const QString &input, const ushort *actions, int from, int to) const QChar *begin = input.constData() + from; const QChar *end = input.constData() + to; if (qt_urlRecode(output, begin, end, - QUrl::DecodeUnicode | QUrl::DecodeAllDelimiters | QUrl::DecodeSpaces, actions)) + QUrl::MostDecoded, actions)) return output; return input.mid(from, to - from); @@ -466,7 +466,7 @@ static inline void appendToUser(QString &appendTo, const QString &value, QUrl::F } const ushort *actions = 0; - if (options & QUrl::DecodeAllDelimiters) + if (options & QUrl::DecodeDelimiters) actions = decodedActions; else actions = encodedActions; @@ -494,7 +494,7 @@ void QUrlPrivate::appendUserInfo(QString &appendTo, QUrl::FormattingOptions opti const ushort *userNameActions; const ushort *passwordActions; - if (options & QUrl::DecodeAllDelimiters) { + if (options & QUrl::DecodeDelimiters) { switch (appendingTo) { case UserInfo: userNameActions = decodedUserNameInUserInfoActions; @@ -540,7 +540,7 @@ inline void QUrlPrivate::appendPassword(QString &appendTo, QUrl::FormattingOptio inline void QUrlPrivate::appendPath(QString &appendTo, QUrl::FormattingOptions options, Section appendingTo) const { - if (appendingTo != Path && options & QUrl::DecodeAllDelimiters) { + if (appendingTo != Path && options & QUrl::DecodeDelimiters) { if (!qt_urlRecode(appendTo, path.constData(), path.constEnd(), options, decodedPathInUrlActions)) appendTo += path; @@ -564,11 +564,11 @@ inline void QUrlPrivate::appendQuery(QString &appendTo, QUrl::FormattingOptions } const ushort *actions = 0; - if (options & QUrl::DecodeAllDelimiters) { + if (options & QUrl::DecodeDelimiters) { // reset to default qt_urlRecode behaviour (leave delimiters alone) - options &= ~QUrl::DecodeAllDelimiters; + options &= ~QUrl::DecodeDelimiters; actions = appendingTo == Query ? decodedQueryInIsolationActions : decodedQueryInUrlActions; - } else if ((options & QUrl::DecodeAllDelimiters) == 0) { + } else if ((options & QUrl::DecodeDelimiters) == 0) { actions = encodedQueryActions; } diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h index 068fe73401..4eaf652ff5 100644 --- a/src/corelib/io/qurl.h +++ b/src/corelib/io/qurl.h @@ -140,12 +140,11 @@ public: enum ComponentFormattingOption { FullyEncoded = 0x000000, DecodeSpaces = 0x100000, - DecodeUnambiguousDelimiters = 0x200000, - DecodeAllDelimiters = DecodeUnambiguousDelimiters | 0x400000, + DecodeDelimiters = 0x200000 | 0x400000, DecodeUnicode = 0x800000, - PrettyDecoded = DecodeSpaces | DecodeUnambiguousDelimiters | DecodeUnicode, - MostDecoded = PrettyDecoded | DecodeAllDelimiters + PrettyDecoded = DecodeSpaces | DecodeDelimiters | DecodeUnicode, + MostDecoded = PrettyDecoded }; Q_DECLARE_FLAGS(ComponentFormattingOptions, ComponentFormattingOption) #ifdef qdoc diff --git a/src/corelib/io/qurlquery.cpp b/src/corelib/io/qurlquery.cpp index 85180a2d72..c0b90dd587 100644 --- a/src/corelib/io/qurlquery.cpp +++ b/src/corelib/io/qurlquery.cpp @@ -208,7 +208,7 @@ inline QString QUrlQueryPrivate::recodeFromUser(const QString &input) const // note: duplicated in setQuery() QString output; if (qt_urlRecode(output, input.constData(), input.constData() + input.length(), - QUrl::DecodeUnicode | QUrl::DecodeAllDelimiters | QUrl::DecodeSpaces, + QUrl::MostDecoded, prettyDecodedActions)) return output; return input; @@ -216,7 +216,7 @@ inline QString QUrlQueryPrivate::recodeFromUser(const QString &input) const inline bool idempotentRecodeToUser(QUrl::ComponentFormattingOptions encoding) { - return encoding == QUrl::PrettyDecoded || encoding == (QUrl::PrettyDecoded | QUrl::DecodeAllDelimiters); + return encoding == QUrl::PrettyDecoded; } inline QString QUrlQueryPrivate::recodeToUser(const QString &input, QUrl::ComponentFormattingOptions encoding) const @@ -226,13 +226,10 @@ inline QString QUrlQueryPrivate::recodeToUser(const QString &input, QUrl::Compon if (idempotentRecodeToUser(encoding)) return input; - bool decodeUnambiguous = encoding & QUrl::DecodeUnambiguousDelimiters; - encoding &= ~QUrl::DecodeAllDelimiters; - - if (decodeUnambiguous) { + if (encoding & QUrl::DecodeDelimiters) { QString output; if (qt_urlRecode(output, input.constData(), input.constData() + input.length(), - encoding | QUrl::DecodeAllDelimiters, prettyDecodedActions)) + encoding, prettyDecodedActions)) return output; return input; } @@ -270,7 +267,7 @@ void QUrlQueryPrivate::setQuery(const QString &query) QString key; if (!qt_urlRecode(key, begin, delimiter, - QUrl::DecodeUnicode | QUrl::DecodeAllDelimiters | QUrl::DecodeSpaces, + QUrl::MostDecoded, prettyDecodedActions)) key = QString(begin, delimiter - begin); @@ -283,7 +280,7 @@ void QUrlQueryPrivate::setQuery(const QString &query) } else { QString value; if (!qt_urlRecode(value, delimiter + 1, pos, - QUrl::DecodeUnicode | QUrl::DecodeAllDelimiters | QUrl::DecodeSpaces, + QUrl::MostDecoded, prettyDecodedActions)) value = QString(delimiter + 1, pos - delimiter - 1); itemList.append(qMakePair(key, value)); @@ -469,10 +466,9 @@ QString QUrlQuery::query(QUrl::ComponentFormattingOptions encoding) const decode('#'), // 3 0 }; - if (encoding & QUrl::DecodeAllDelimiters) { + if (encoding & QUrl::DecodeDelimiters) { // full decoding: we only encode the characters above tableActions[3] = 0; - encoding |= QUrl::DecodeAllDelimiters; } else { tableActions[3] = encode('#'); } diff --git a/src/corelib/io/qurlrecode.cpp b/src/corelib/io/qurlrecode.cpp index 3b08e1544d..50adfa0dfd 100644 --- a/src/corelib/io/qurlrecode.cpp +++ b/src/corelib/io/qurlrecode.cpp @@ -469,7 +469,7 @@ qt_urlRecode(QString &appendTo, const QChar *begin, const QChar *end, QUrl::ComponentFormattingOptions encoding, const ushort *tableModifications) { uchar actionTable[sizeof defaultActionTable]; - if (encoding & QUrl::DecodeAllDelimiters) { + if (encoding & QUrl::DecodeDelimiters) { // reset the table memset(actionTable, DecodeCharacter, sizeof actionTable); if (!(encoding & QUrl::DecodeSpaces)) diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h index 90705b3d40..d5d30d9003 100644 --- a/src/testlib/qtest.h +++ b/src/testlib/qtest.h @@ -142,7 +142,7 @@ template<> inline char *toString(const QRectF &s) template<> inline char *toString(const QUrl &uri) { - return qstrdup(uri.toEncoded(QUrl::DecodeUnambiguousDelimiters).constData()); + return qstrdup(uri.toEncoded(QUrl::DecodeDelimiters).constData()); } template<> inline char *toString(const QVariant &v) |