diff options
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) |