- if(r_filter->related_group == -1)
- return(-1);
- }
- else if(strcmp(filter_by, "rule") == 0)
- {
- r_filter->related_rule =
- _report_filter_value(filter_value, r_filter->related_rule);
+ if (arg_type == REPORT_FILTER) {
+ if (strcmp(filter_by, "group") == 0) {
+ r_filter->group = filter_value;
+ } else if (strcmp(filter_by, "rule") == 0) {
+ r_filter->rule = filter_value;
+ } else if (strcmp(filter_by, "level") == 0) {
+ r_filter->level = filter_value;
+ } else if (strcmp(filter_by, "location") == 0) {
+ r_filter->location = filter_value;
+ } else if (strcmp(filter_by, "user") == 0) {
+ r_filter->user = filter_value;
+ } else if (strcmp(filter_by, "srcip") == 0) {
+ r_filter->srcip = filter_value;
+ } else if (strcmp(filter_by, "filename") == 0) {
+ r_filter->files = filter_value;
+ } else {
+ merror("%s: ERROR: Invalid filter '%s'.", __local_name, filter_by);
+ return (-1);
+ }
+ } else {
+ if (strcmp(filter_by, "group") == 0) {
+ r_filter->related_group =
+ _report_filter_value(filter_value, r_filter->related_group);
+
+ if (r_filter->related_group == -1) {
+ return (-1);
+ }
+ } else if (strcmp(filter_by, "rule") == 0) {
+ r_filter->related_rule =
+ _report_filter_value(filter_value, r_filter->related_rule);