]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pidl:Python: introduce $is_raisable_return helper variable
authorStefan Metzmacher <metze@samba.org>
Tue, 28 Jan 2025 09:07:18 +0000 (10:07 +0100)
committerJule Anger <janger@samba.org>
Mon, 3 Feb 2025 14:53:10 +0000 (14:53 +0000)
No change in the generated code.

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 8cdf7af43a365b0545562033f6c51150f2fbb3a4)

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

index 53dcf142de6d7de87fe1d0a88196d1da38b0286c..44c7e70507e15cbcc899b16ab4f2966a6947b1e3 100644 (file)
@@ -979,8 +979,13 @@ sub PythonFunctionUnpackOut($$$)
                $result_size++;
        }
 
-       if ($fn->{RETURN_TYPE}) {
-               $result_size++ unless ($fn->{RETURN_TYPE} eq "WERROR" or $fn->{RETURN_TYPE} eq "NTSTATUS");
+       my $is_raisable_return = 0;
+       if ($fn->{RETURN_TYPE} and ($fn->{RETURN_TYPE} eq "WERROR" or $fn->{RETURN_TYPE} eq "NTSTATUS")) {
+               $is_raisable_return = 1;
+       }
+
+       if ($fn->{RETURN_TYPE} and not $is_raisable_return) {
+               $result_size++;
        }
 
        my $i = 0;