]> 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)
committerJule Anger <janger@samba.org>
Mon, 3 Feb 2025 14:53:10 +0000 (14:53 +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>
(cherry picked from commit fa6d0fd1b00e4836215b4d80f1a9f527db82e01a)

pidl/lib/Parse/Pidl/Samba4/Python.pm

index c09ee4b784d45f0273c13ae8209037818ea2d820..53dcf142de6d7de87fe1d0a88196d1da38b0286c 100644 (file)
@@ -1417,9 +1417,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("");