]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pidl:Python: generate nicer code for PyNdrRpcMethodDef arrays
authorStefan Metzmacher <metze@samba.org>
Tue, 28 Jan 2025 11:02:08 +0000 (12:02 +0100)
committerDouglas Bagnall <dbagnall@samba.org>
Wed, 29 Jan 2025 01:14:40 +0000 (01:14 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14213

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
pidl/lib/Parse/Pidl/Samba4/Python.pm

index 66c90cfd051a786049bc807733fcb2041f8f1a84..667df4adc68e71da7430d5e37662b75a6d3b1109 100644 (file)
@@ -1467,9 +1467,23 @@ sub Interface($$$)
                $self->indent;
                foreach my $d (@fns) {
                        my ($infn, $outfn, $callfn, $prettyname, $docstring, $opnum) = @$d;
-                       $self->pidl("{ \"$prettyname\", $docstring, (py_dcerpc_call_fn)$callfn, (py_data_pack_fn)$infn, (py_data_unpack_fn)$outfn, $opnum, &ndr_table_$interface->{NAME} },");
+                       $self->pidl("{");
+                       $self->indent;
+                       $self->pidl(".name = \"$prettyname\",");
+                       $self->pidl(".doc = $docstring,");
+                       $self->pidl(".call = (py_dcerpc_call_fn)$callfn,");
+                       $self->pidl(".pack_in_data = (py_data_pack_fn)$infn,");
+                       $self->pidl(".unpack_out_data = (py_data_unpack_fn)$outfn,");
+                       $self->pidl(".opnum = $opnum,");
+                       $self->pidl(".table = &ndr_table_$interface->{NAME},");
+                       $self->deindent;
+                       $self->pidl("},");
                }
-               $self->pidl("{0}");
+               $self->pidl("{");
+               $self->indent;
+               $self->pidl(".name = NULL,");
+               $self->deindent;
+               $self->pidl("},");
                $self->deindent;
                $self->pidl("};");
                $self->pidl("");