diff options
author | Karl Williamson <khw@cpan.org> | 2020-06-29 09:00:59 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-06-13 06:05:09 -0600 |
commit | fa50d782e52f23c55bcc3888e30de3b7cc01e3b4 (patch) | |
tree | 151d1ae71a092ce0228e15e02d88496823336bb3 /sv.h | |
parent | 75111994648b802c88381a3cd338185fd1bbb6fa (diff) | |
download | perl-fa50d782e52f23c55bcc3888e30de3b7cc01e3b4.tar.gz |
Evaluate SvREFCNT_inc_simple_void() param just once
Diffstat (limited to 'sv.h')
-rw-r--r-- | sv.h | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -349,7 +349,13 @@ perform the upgrade if necessary. See C<L</svtype>>. #define SvREFCNT_inc_void(sv) Perl_SvREFCNT_inc_void(MUTABLE_SV(sv)) /* These guys don't need the curly blocks */ -#define SvREFCNT_inc_simple_void(sv) STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END +#define SvREFCNT_inc_simple_void(sv) \ + STMT_START { \ + SV * sv_ = MUTABLE_SV(sv); \ + if (sv_) \ + SvREFCNT(sv_)++; \ + } STMT_END + #define SvREFCNT_inc_simple_NN(sv) (++(SvREFCNT(sv)),MUTABLE_SV(sv)) #define SvREFCNT_inc_void_NN(sv) (void)(++SvREFCNT(MUTABLE_SV(sv))) #define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT(MUTABLE_SV(sv))) |