r12206: Fix some issues in NOEMIT
authorJelmer Vernooij <jelmer@samba.org>
Tue, 13 Dec 2005 13:14:23 +0000 (13:14 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:47:18 +0000 (13:47 -0500)
source/pidl/lib/Parse/Pidl/Ethereal/Conformance.pm
source/pidl/lib/Parse/Pidl/Ethereal/NDR.pm

index 12eb718586fe130ee806ff22b9cc1d2ef8c0bb00..e3296c1629b288b39362ab91edc4bb4a55555a49 100644 (file)
@@ -232,10 +232,9 @@ sub handle_strip_prefix($$$)
 
 sub handle_noemit($$$)
 {
-       my ($pos,$data) = @_;
-       my $type;
-
-       $type = shift if ($#_ == 1);
+       my $pos = shift;
+       my $data = shift;
+       my $type = shift;
 
        if (defined($type)) {
            $data->{noemit}->{$type} = 1;
index 7dc94763ea7c9d2751f84c3edeede131fb0e644f..b400d1ade062f34832089627f4872ab81df0e38c 100644 (file)
@@ -22,6 +22,7 @@ use Parse::Pidl::Util qw(has_property ParseExpr property_matches make_str);
 use Parse::Pidl::NDR qw(ContainsString GetNextLevel);
 use Parse::Pidl::Dump qw(DumpTypedef DumpFunction);
 use Parse::Pidl::Ethereal::Conformance qw(ReadConformance);
+use File::Basename;    
 
 use vars qw($VERSION);
 $VERSION = '0.01';
@@ -206,6 +207,7 @@ sub Bitmap($$$)
                if (defined($conformance->{tfs}->{$hf_bitname})) {
                        pidl_def "   $conformance->{tfs}->{$hf_bitname}->{TRUE_STRING},";
                        pidl_def "   $conformance->{tfs}->{$hf_bitname}->{FALSE_STRING},";
+                       $conformance->{tfs}->{$hf_bitname}->{USED} = 1;
                } else {
                        pidl_def "   \"$en is SET\",";
                        pidl_def "   \"$en is NOT SET\",";
@@ -827,7 +829,6 @@ sub Parse($$$$)
        $res{headers} .= "#include \"packet-dcerpc-nt.h\"\n";
        $res{headers} .= "#include \"packet-windows-common.h\"\n";
 
-       use File::Basename;     
        my $h_basename = basename($h_filename);
 
        $res{headers} .= "#include \"$h_basename\"\n";
@@ -1009,6 +1010,12 @@ sub CheckUsed($)
                        print "$_->{POS}: warning: description never used\n";
                }
        }
+
+       foreach (values %{$conformance->{tfs}}) {
+               if (not $_->{USED}) {
+                       print "$_->{POS}: warning: True/False description never used\n";
+               }
+       }
 }
 
 1;