56 lines
2.3 KiB
HTML
56 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
<title>test.diff</title>
|
|
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Diff) - Theme (Breeze Light)"/>
|
|
</head><body style="background-color:#ffffff;color:#1f1c1b"><pre>
|
|
commit 2b16665838c8afeaa0f065cafc747438de35876b
|
|
Author: Volker Krause <vkrause@kde.org>
|
|
Date: Sat Oct 8 13:31:51 2016 +0200
|
|
|
|
Implement dynamic DetectChar rules
|
|
|
|
Needed for Perl highlighting.
|
|
|
|
<span style="font-weight:bold">diff --git a/src/lib/rule.cpp b/src/lib/rule.cpp</span>
|
|
index f588985..c4c3b92 100644
|
|
<span style="color:#0057ae">--- a/src/lib/rule.cpp</span>
|
|
<span style="color:#0057ae">+++ b/src/lib/rule.cpp</span>
|
|
<span style="color:#0057ae">@@ -308,12 +308,22 @@ bool DetectChar::doLoad(QXmlStreamReader& reader)</span>
|
|
if (s.isEmpty())
|
|
return false;
|
|
m_char = s.at(0);
|
|
<span style="color:#0057ae">+ if (isDynamic()) {</span>
|
|
<span style="color:#0057ae">+ m_captureIndex = m_char.digitValue();</span>
|
|
<span style="color:#0057ae">+ }</span>
|
|
return true;
|
|
}
|
|
|
|
MatchResult DetectChar::doMatch(const QString& text, int offset, const QStringList &captures)
|
|
{
|
|
<span style="color:#bf0303">- Q_UNUSED(captures); // TODO</span>
|
|
<span style="color:#0057ae">+ if (isDynamic()) {</span>
|
|
<span style="color:#0057ae">+ if (captures.size() <= m_captureIndex || captures.at(m_captureIndex).isEmpty())</span>
|
|
<span style="color:#0057ae">+ return offset;</span>
|
|
<span style="color:#0057ae">+ if (text.at(offset) == captures.at(m_captureIndex).at(0))</span>
|
|
<span style="color:#0057ae">+ return offset + 1;</span>
|
|
<span style="color:#0057ae">+ return offset;</span>
|
|
<span style="color:#0057ae">+ }</span>
|
|
<span style="color:#0057ae">+</span>
|
|
if (text.at(offset) == m_char)
|
|
return offset + 1;
|
|
return offset;
|
|
<span style="font-weight:bold">diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h</span>
|
|
index d8862ae..d9cedbf 100644
|
|
<span style="color:#0057ae">--- a/src/lib/rule_p.h</span>
|
|
<span style="color:#0057ae">+++ b/src/lib/rule_p.h</span>
|
|
<span style="color:#0057ae">@@ -103,6 +103,7 @@ protected:</span>
|
|
|
|
private:
|
|
QChar m_char;
|
|
<span style="color:#0057ae">+ int m_captureIndex;</span>
|
|
};
|
|
|
|
class Detect2Char : public Rule
|
|
</pre></body></html>
|