Skip to content

Commit

Permalink
Add support for filterable expert info fields. Statistics don't separ…
Browse files Browse the repository at this point in the history
…ate out the expert info fields from the hf_ fields because we're really just looking for display filter name errors, regardless of source.

svn path=/trunk/; revision=50398
  • Loading branch information
mmann78 committed Jul 6, 2013
1 parent 56db3a2 commit 9822a1f
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions tools/checkfiltername.pl
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
my @elements_dup;
my @protocols;
my %filters;
my %expert_filters;
my @acceptedprefixes = ("dcerpc-");
my @asn1automatedfilelist;
my @dcerpcautomatedfilelist;
Expand All @@ -79,6 +80,11 @@
# "s_header_field_info_entry_name",
# "s_header_field_info_entry_abbrev",
# "s_header_field_info_entry_abbrev_end",
# "s_start_expert",
# "s_in_ei_register_info",
# "s_ei_register_info_entry",
# "s_ei_register_info_entry_start",
# "s_ei_register_info_entry_abbrev_end",
# "s_nofields"

my $restofline;
Expand Down Expand Up @@ -228,6 +234,10 @@ sub printprevfile {
foreach (sort keys %filters) {
checkprotoabbrev ($filters{$_}, $_);
}

foreach (sort keys %expert_filters) {
checkprotoabbrev ($expert_filters{$_}, $_);
}

$count_ele = @elements;
$count_dup = @elements_dup;
Expand Down Expand Up @@ -335,6 +345,7 @@ sub printprevfile {
$noperiod = 0;
$linenumber = 1;
%filters = ( );
%expert_filters = ( );
@protocols = ( );
@elements = ( );
@elements_dup = ( );
Expand Down Expand Up @@ -452,6 +463,10 @@ sub printprevfile {
$restofline = $2;
$state = "s_start";
$debug>1 && print "$linenumber $state\n";
} elsif ($restofline =~ /\s*static\s*ei_register_info\s*(\w+)\[\](.*)/) {
$restofline = $2;
$state = "s_start_expert";
$debug>1 && print "$linenumber $state\n";
} elsif (($state eq "s_start") && ($restofline =~ /\W+{(.*)/)) {
$restofline = $1;
$state = "s_in_hf_register_info";
Expand Down Expand Up @@ -496,6 +511,30 @@ sub printprevfile {
$restofline = $1;
$state = "s_in_hf_register_info";
$debug>1 && print "$linenumber $state\n";
} elsif (($state eq "s_start_expert") && ($restofline =~ /\W+{(.*)/)) {
$restofline = $1;
$state = "s_in_ei_register_info";
$debug>1 && print "$linenumber $state\n";
} elsif (($state eq "s_in_ei_register_info") && ($restofline =~ /\W+{(.*)/)) {
$restofline = $1;
$state = "s_ei_register_info_entry";
$debug>1 && print "$linenumber $state\n";
} elsif (($state eq "s_in_ei_register_info") && ($restofline =~ /\s*};(.*)/)) {
$restofline = $1;
$state = "s_unknown";
} elsif (($state eq "s_ei_register_info_entry") && ($restofline =~ /\s*{(.*)/)) {
$restofline = $1;
$state = "s_ei_register_info_entry_start";
$debug>1 && print "$linenumber $state\n";
} elsif (($state eq "s_ei_register_info_entry_start") && ($restofline =~ /\"([^\"]*)\"\s*,(.*)/)) {
$restofline = $2;
$debug>1 && print "$linenumber ei_register_info_entry_abbrev: $1\n";
$expert_filters{$linenumber} = $1;
$state = "s_ei_register_info_entry_abbrev_end";
} elsif (($state eq "s_ei_register_info_entry_abbrev_end") && ($restofline =~ /[^}]*}(.*)/)) {
$restofline = $1;
$state = "s_in_ei_register_info";
$debug>1 && print "$linenumber $state\n";
} else {
$more_tokens = 0;
}
Expand Down

0 comments on commit 9822a1f

Please sign in to comment.