if ( !p )
return;
- for ( int i = 0; i < num_counts; i++ )
+ if ( global_stats() )
+ {
+ for ( int i = 0; i < num_counts; i++ )
+ counts[i] = p[i];
+ }
+ else
{
- counts[i] += p[i];
- p[i] = 0;
+ for ( int i = 0; i < num_counts; i++ )
+ {
+ counts[i] += p[i];
+ p[i] = 0;
+ }
}
}
virtual const char* get_defaults() const
{ return nullptr; }
+ virtual bool global_stats() const
+ { return false; }
+
virtual void sum_stats();
virtual void show_interval_stats(IndexVec&);
virtual void show_stats();
bool set(const char*, Value&, SnortConfig*) override;
const PegInfo* get_pegs() const override { return proc_names; }
PegCount* get_counts() const override { return (PegCount*) &proc_stats; }
+ bool global_stats() const override { return true; }
};
bool SnortModule::set(const char*, Value& v, SnortConfig* sc)