diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2013-07-01 17:52:18 -0700 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-04 04:47:46 +0200 |
commit | 2ff719de8fe7a6ec40d1e085ad3211a4fd09fe69 (patch) | |
tree | aea8e65bb23d7cf018527014a0e8bf23a09db06f /src/corelib/io/qurlrecode.cpp | |
parent | 993bbb4d4be524321575668740ea46c6665d6064 (diff) |
QUrlQuery: update our understanding of delimiters
This commit is similar to the previous commit that changed the behavior
of QUrl, but now to QUrlQuery.
We can now remove a section of qt_urlDecode, which is no longer used:
there's no "decode everything" mode anymore.
Task-number: QTBUG-31660
Change-Id: I66cfbfd290eeba5b04688cd5ffd615dd57cc6309
Reviewed-by: David Faure (KDE) <faure@kde.org>
Diffstat (limited to 'src/corelib/io/qurlrecode.cpp')
-rw-r--r-- | src/corelib/io/qurlrecode.cpp | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/corelib/io/qurlrecode.cpp b/src/corelib/io/qurlrecode.cpp index 9189cd294f..e4f37574a3 100644 --- a/src/corelib/io/qurlrecode.cpp +++ b/src/corelib/io/qurlrecode.cpp @@ -598,22 +598,11 @@ qt_urlRecode(QString &appendTo, const QChar *begin, const QChar *end, return decode(appendTo, reinterpret_cast<const ushort *>(begin), reinterpret_cast<const ushort *>(end)); } - if (!(encoding & QUrl::EncodeDelimiters) && encoding & QUrl::DecodeReserved) { - // reset the table - memset(actionTable, DecodeCharacter, sizeof actionTable); - if (encoding & QUrl::EncodeSpaces) - actionTable[0] = EncodeCharacter; - - // these are always encoded - actionTable['%' - ' '] = EncodeCharacter; - actionTable[0x7F - ' '] = EncodeCharacter; - } else { - memcpy(actionTable, defaultActionTable, sizeof actionTable); - if (encoding & QUrl::DecodeReserved) - maskTable(actionTable, reservedMask); - if (!(encoding & QUrl::EncodeSpaces)) - actionTable[0] = DecodeCharacter; // decode - } + memcpy(actionTable, defaultActionTable, sizeof actionTable); + if (encoding & QUrl::DecodeReserved) + maskTable(actionTable, reservedMask); + if (!(encoding & QUrl::EncodeSpaces)) + actionTable[0] = DecodeCharacter; // decode if (tableModifications) { for (const ushort *p = tableModifications; *p; ++p) |