summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qurl.cpp14
-rw-r--r--src/corelib/io/qurl.h7
-rw-r--r--src/corelib/io/qurlquery.cpp18
-rw-r--r--src/corelib/io/qurlrecode.cpp2
-rw-r--r--src/testlib/qtest.h2
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)