summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <leonerd@leonerd.org.uk>2021-12-02 13:06:27 +0000
committerPaul Evans <leonerd@leonerd.org.uk>2021-12-03 10:59:24 +0000
commit1c57e39668d648fff43de7f8971c1bf9f23debfc (patch)
tree28c64613317397e289d839617269e7a1cbf4cd8c /pp.c
parente728f790bcefcaf1d8b42e2f7ee16a9125f0af22 (diff)
downloadperl-1c57e39668d648fff43de7f8971c1bf9f23debfc.tar.gz
Improvements to OP_ISBOOL
* Apply OA_RETSCALAR, OA_TARGLEX and OA_FOLDCONST flags * Handle both 'get' and 'set' magic
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pp.c b/pp.c
index c4b84fe940..5901656d53 100644
--- a/pp.c
+++ b/pp.c
@@ -7215,9 +7215,13 @@ PP(pp_cmpchain_dup)
PP(pp_isbool)
{
dSP;
+ dTARGET;
SV *arg = POPs;
- PUSHs(boolSV(SvIsBOOL(arg)));
+ SvGETMAGIC(arg);
+
+ sv_setbool_mg(TARG, SvIsBOOL(arg));
+ PUSHs(TARG);
RETURN;
}