summaryrefslogtreecommitdiff
path: root/pp.h
diff options
context:
space:
mode:
Diffstat (limited to 'pp.h')
-rw-r--r--pp.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/pp.h b/pp.h
index 5c25b5513b..a0714e9550 100644
--- a/pp.h
+++ b/pp.h
@@ -471,19 +471,20 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define tryAMAGICunDEREF_var(meth_enum) \
tryAMAGICunW_var(meth_enum,setAGAIN,0,(void)0)
-#define tryAMAGICftest(chr) \
- STMT_START { \
- if (SvAMAGIC(TOPs)) { \
- SV * const tmpsv = amagic_call(TOPs, \
- newSVpvn_flags(&chr, 1, SVs_TEMP), \
- ftest_amg, 0); \
- \
- if (tmpsv) { \
- SPAGAIN; \
- SETs(tmpsv); \
- RETURN; \
- } \
- } \
+#define tryAMAGICftest(chr) \
+ STMT_START { \
+ if (SvAMAGIC(TOPs)) { \
+ const char tmpchr = (chr); \
+ SV * const tmpsv = amagic_call(TOPs, \
+ newSVpvn_flags(&tmpchr, 1, SVs_TEMP), \
+ ftest_amg, 0); \
+ \
+ if (tmpsv) { \
+ SPAGAIN; \
+ SETs(tmpsv); \
+ RETURN; \
+ } \
+ } \
} STMT_END