File: accept.cc

package info (click to toggle)
filtermail 1.06.00-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,688 kB
  • sloc: cpp: 2,487; fortran: 249; makefile: 106; ansic: 51; sh: 36
file content (27 lines) | stat: -rw-r--r-- 517 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//#define XERR
#include "filter.ih"

// if a Rule matched perform the action otherwise return false
bool Filter::accept(eAction type)     
{
    if (not d_condition.matched())     // the condition(s) didn't match
        return false;

    // perform the 'action'
    d_action = type;

    for (string const &file: d_matchedFiles)
    {
        Rules &rules = d_map[file];

        for (size_t idx: rules.matched())
            rules.details(file, idx);
    }
      
    d_current.log(type);
  
    return true;
}