summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/pidl/lib/Parse/Pidl/Ethereal/NDR.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Ethereal/NDR.pm b/source4/pidl/lib/Parse/Pidl/Ethereal/NDR.pm
index ad466b246a..a0e8f4126b 100644
--- a/source4/pidl/lib/Parse/Pidl/Ethereal/NDR.pm
+++ b/source4/pidl/lib/Parse/Pidl/Ethereal/NDR.pm
@@ -117,7 +117,7 @@ sub Enum($$$)
my $valsstring = "$ifname\_$name\_vals";
my $dissectorname = "$ifname\_dissect\_enum\_".StripPrefixes($name);
- return if (defined($conformance->{noemit}->{$dissectorname}));
+ return if (defined($conformance->{noemit}->{StripPrefixes($name)}));
foreach (@{$e->{ELEMENTS}}) {
if (/([^=]*)=(.*)/) {
@@ -319,7 +319,8 @@ sub Element($$$)
my $hf = register_hf_field("hf_$ifname\_$pn\_$e->{NAME}", field2name($e->{NAME}), "$ifname.$pn.$e->{NAME}", type2ft($e->{TYPE}), "BASE_HEX", "NULL", 0, "");
- if (defined($conformance->{noemit}->{$dissectorname})) {
+ my $eltname = StripPrefixes($pn) . ".$e->{NAME}";
+ if (defined($conformance->{noemit}->{$eltname})) {
return $call_code;
}
@@ -404,7 +405,7 @@ sub Struct($$$)
my ($e,$name,$ifname) = @_;
my $dissectorname = "$ifname\_dissect\_struct\_".StripPrefixes($name);
- return if (defined($conformance->{noemit}->{$dissectorname}));
+ return if (defined($conformance->{noemit}->{StripPrefixes($name)}));
register_ett("ett_$ifname\_$name");
@@ -451,7 +452,8 @@ sub Union($$$)
my ($e,$name,$ifname) = @_;
my $dissectorname = "$ifname\_dissect_".StripPrefixes($name);
- return if (defined($conformance->{noemit}->{$dissectorname}));
+
+ return if (defined($conformance->{noemit}->{StripPrefixes($name)}));
register_ett("ett_$ifname\_$name");