Need to check for a bulk-class argument of an integer-type before testing for
the integer-type otherwise the integer-type is selected. This causes the wrong
argument spec to be emitted for PyArg_ParseTuple() when decoding the arguments
for an RPC call to be issued.
Signed-off-by: David Howells <dhowells@redhat.com>
foreach my $p (@{$func->{request}}) {
if ($p->{dir} ne "IN") { print PYOUT "O!";
+ } elsif ($p->{class} eq "bulk") { print PYOUT "O!";
} elsif ($p->{type} eq "int8_t") { print PYOUT "B";
} elsif ($p->{type} eq "int16_t") { print PYOUT "h";
} elsif ($p->{type} eq "int32_t") { print PYOUT "i";
print PYOUT "s*";
} elsif ($p->{class} eq "blob" && $p->{elem}->{class} eq "opaque") {
print PYOUT "z*";
- } elsif ($p->{class} eq "bulk") {
- print PYOUT "O!";
} else {
die $p->{where}, ": No py parse for param";
}