Fix the regression tests as reported on #1142

This commit is contained in:
Felipe Zimmerle 2016-05-05 11:28:58 -03:00
parent 3062ff2aa5
commit d0e0002283
3 changed files with 9 additions and 3 deletions

View File

@ -26,7 +26,7 @@ bool Contains::evaluate(Transaction *transaction, const std::string &input) {
std::string p = MacroExpansion::expand(param, transaction);
bool contains = input.find(p) != std::string::npos;
if (contains) {
if (contains && transaction) {
transaction->m_matched.push_back(p);
}

View File

@ -77,7 +77,7 @@ bool Pm::evaluate(Transaction *transaction, const std::string &input) {
const char *match = NULL;
rc = acmp_process_quick(&pt, &match, input.c_str(), input.length());
if (rc == 1) {
if (rc == 1 && transaction) {
transaction->m_matched.push_back(std::string(match));
}

View File

@ -29,8 +29,14 @@ namespace operators {
bool Rx::evaluate(Transaction *transaction, const std::string& input) {
SMatch match;
if (m_param.empty()) {
return true;
}
if (regex_search(input, &match, *m_re) && match.size() >= 1) {
transaction->m_matched.push_back(match.match);
if (transaction) {
transaction->m_matched.push_back(match.match);
}
return true;
}