Ensure we enclose the enum values in brackets to make the cast work.
[kamenim/samba.git] / pidl / lib / Parse / Pidl / Samba4 / Header.pm
index 53159579463368b518ce4ded67e1d9a9d918e8e0..be1df4b1183ec4f27e05719577d7385195e835c0 100644 (file)
@@ -120,10 +120,20 @@ sub HeaderEnum($$;$)
                pidl " {\n";
                $tab_depth++;
                foreach my $e (@{$enum->{ELEMENTS}}) {
+                       my @enum_els = ();
                        unless ($first) { pidl ",\n"; }
                        $first = 0;
                        pidl tabs();
-                       pidl $e;
+                       @enum_els = split(/=/, $e);
+                       if (@enum_els == 2) {
+                               pidl $enum_els[0];
+                               pidl "=(int)";
+                               pidl "(";
+                               pidl $enum_els[1];
+                               pidl ")";
+                       } else {
+                               pidl $e;
+                       }
                }
                pidl "\n";
                $tab_depth--;