diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2010-01-21 00:44:26 +0100 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2010-01-21 00:44:26 +0100 |
commit | 094258e7cb1cb06db105c5c8d067e58e4a40d22b (patch) | |
tree | 38fa0c493faef23e610397fe6dc68f893f5f09cb /src/adblock/adblockrule.cpp | |
parent | Some leaks fixed in new code (diff) | |
download | rekonq-094258e7cb1cb06db105c5c8d067e58e4a40d22b.tar.xz |
Save memory!
With this commit, we save (at least) 3 bytes for each AdBlockRule defined
(and probably more than 3!).
In my installation I have about 100 rules... :)
Diffstat (limited to 'src/adblock/adblockrule.cpp')
-rw-r--r-- | src/adblock/adblockrule.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/adblock/adblockrule.cpp b/src/adblock/adblockrule.cpp index c6fe47c9..9f86ffee 100644 --- a/src/adblock/adblockrule.cpp +++ b/src/adblock/adblockrule.cpp @@ -52,17 +52,22 @@ * ============================================================ */ +// Self Includes #include "adblockrule.h" +// Qt Includes +#include <QStringList> #include <QDebug> #include <QRegExp> #include <QUrl> +// Defines #define QL1S(x) QLatin1String(x) #define QL1C(x) QLatin1Char(x) AdBlockRule::AdBlockRule(const QString &filter) + : m_optionMatchRule(false) { bool isRegExpRule = false; @@ -75,11 +80,13 @@ AdBlockRule::AdBlockRule(const QString &filter) isRegExpRule = true; } - int options = parsedLine.indexOf( QL1C('$'), 0); - if (options >= 0) + int optionsNumber = parsedLine.indexOf( QL1C('$'), 0); + QStringList options; + + if (optionsNumber >= 0) { - m_options = parsedLine.mid(options + 1).split(QL1C(',')); - parsedLine = parsedLine.left(options); + options = parsedLine.mid(optionsNumber + 1).split(QL1C(',')); + parsedLine = parsedLine.left(optionsNumber); } if(!isRegExpRule) @@ -87,10 +94,10 @@ AdBlockRule::AdBlockRule(const QString &filter) m_regExp = QRegExp(parsedLine, Qt::CaseInsensitive, QRegExp::RegExp2); - if (m_options.contains( QL1S("match-case") )) + if ( options.contains( QL1S("match-case") )) { m_regExp.setCaseSensitivity(Qt::CaseSensitive); - m_options.removeOne( QL1S("match-case") ); + m_optionMatchRule = true; } } |