r9734: The ethereal parser generator was generating duplicate functions for
authorTim Potter <tpot@samba.org>
Mon, 29 Aug 2005 12:22:48 +0000 (12:22 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:34:55 +0000 (13:34 -0500)
fields in structures with the same name as a structure (i.e
security_ace.object and security_ace_object).  I've twiddled the naming
scheme a bit and things are a bit more unique but there is still may be
some naming conflicts in other IDL files.

We are now getting confused over fields with the same name in unions
(e.g security_ace_object_ctr.object) plus some other union weirdness.

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

index 92199e13f108e40fa99027a9231d1db20588ace2..ad466b246a3677f2b3761b819d6226c96cda7101 100644 (file)
@@ -115,7 +115,7 @@ sub Enum($$$)
 {
        my ($e,$name,$ifname) = @_;
        my $valsstring = "$ifname\_$name\_vals";
-       my $dissectorname = "$ifname\_dissect\_".StripPrefixes($name)."_enum";
+       my $dissectorname = "$ifname\_dissect\_enum\_".StripPrefixes($name);
 
        return if (defined($conformance->{noemit}->{$dissectorname}));
 
@@ -154,7 +154,7 @@ sub Enum($$$)
 sub Bitmap($$$)
 {
        my ($e,$name,$ifname) = @_;
-       my $dissectorname = "$ifname\_dissect\_".StripPrefixes($name)."_bitmap";
+       my $dissectorname = "$ifname\_dissect\_bitmap\_".StripPrefixes($name);
 
        register_ett("ett_$ifname\_$name");
 
@@ -313,7 +313,7 @@ sub Element($$$)
 {
        my ($e,$pn,$ifname) = @_;
 
-       my $dissectorname = "$ifname\_dissect\_".StripPrefixes($pn)."\_".StripPrefixes($e->{NAME});
+       my $dissectorname = "$ifname\_dissect\_element\_".StripPrefixes($pn)."\_".StripPrefixes($e->{NAME});
 
        my $call_code = "offset = $dissectorname(tvb, offset, pinfo, tree, drep);";
 
@@ -402,7 +402,7 @@ sub Function($$$)
 sub Struct($$$)
 {
        my ($e,$name,$ifname) = @_;
-       my $dissectorname = "$ifname\_dissect\_".StripPrefixes($name);
+       my $dissectorname = "$ifname\_dissect\_struct\_".StripPrefixes($name);
 
        return if (defined($conformance->{noemit}->{$dissectorname}));