]> 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 18:51:14 +0000 (18:51 +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 838e5090f2057a4bc7f7260890b04e721763b653..f0583561cb3f584daa098018629adeae74838f99 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;