to the C standard an enum is guarenteed to be an (int), which means
for 4 byte ints specifying a type of 0x80000000 is an invalid value.
The Solaris compiler complains about this. Fix by adding an (int)
cast in front of the value generation.
Jeremy.
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 $enum_els[1];
+ } else {
+ pidl $e;
+ }
}
pidl "\n";
$tab_depth--;