r9611: Reset global variables (hf and ett lists) for each parser run. This
authorTim Potter <tpot@samba.org>
Thu, 25 Aug 2005 11:05:49 +0000 (11:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:34:34 +0000 (13:34 -0500)
avoids building up buckets of unecessary definitions from other parsers.

Get rid of warning and FIXME for unknown data types.  This is handled
by the interface depends list and including the appropriate header files.

source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm

index f61ce89ee855d514ad7071f44500a7fce7163ee0..a4c6ecdba0a78a8ee7129d5e587fb5415175d408 100644 (file)
@@ -16,6 +16,8 @@ use Parse::Pidl::Dump qw(DumpTypedef DumpFunction);
 use Parse::Pidl::Ethereal::Conformance qw(ReadConformance);
 
 my %types;
+my %hf;
+my @ett;
 
 my $conformance = {imports=>{}};
 
@@ -280,8 +282,6 @@ sub ElementLevel($$$$$)
                        } elsif ($conformance->{imports}->{$l->{DATA_TYPE}}) {
                                $call = $conformance->{imports}->{$l->{DATA_TYPE}};     
                        } else {
-                               warn("Unknown data type `$l->{DATA_TYPE}'");
-                               pidl_code "/* FIXME: Handle unknown data type $l->{DATA_TYPE} */";
                                if ($l->{DATA_TYPE} =~ /^([a-z]+)\_(.*)$/)
                                {
                                        pidl_code "offset = $1_dissect_$2(tvb,offset,pinfo,tree,drep,$hf,$param);";
@@ -705,6 +705,8 @@ sub Parse($$$$)
        $tabs = "";
 
        %res = (code=>"",def=>"",hdr=>"");
+       %hf = ();
+       @ett = ();
 
        my $notice = 
 "/* DO NOT EDIT
@@ -764,8 +766,6 @@ sub Parse($$$$)
 # ETT
 ###############################################################################
 
-my @ett = ();
-
 sub register_ett($)
 {
        my $name = shift;
@@ -797,8 +797,6 @@ sub DumpEttDeclaration()
 # HF
 ###############################################################################
 
-my %hf = ();
-
 sub register_hf_field($$$$$$$$) 
 {
        my ($index,$name,$filter_name,$ft_type,$base_type,$valsstring,$mask,$blurb) = @_;