pidl-wireshark: clean case name as they can have no valid char for variable names
[mat/samba.git] / pidl / lib / Parse / Pidl / Wireshark / NDR.pm
index 96045b31315a84a934cf68647fbdf23e4cac36f0..06e99377d2404bbd08f4a2b436506d2bf233a0ee 100644 (file)
@@ -751,7 +751,10 @@ sub Union($$$$)
        foreach (@{$e->{ELEMENTS}}) {
                $res.="\n\t\t$_->{CASE}:\n";
                if ($_->{TYPE} ne "EMPTY") {
-                       $res.="\t\t\t".$self->Element($_, $name, $ifname, undef)."\n";
+                       my $case_name = $_->{CASE};
+                       $case_name =~ s/case //;
+                       $case_name =~ tr/|)(<//d;
+                       $res.="\t\t\t".$self->Element($_, "${name}_val${case_name}", $ifname, undef)."\n";
                }
                $res.="\t\tbreak;\n";
        }