Fixing the SVREFCNT macro
Andy Lester [Wed, 28 Dec 2005 13:30:51 +0000 (07:30 -0600)]
Message-ID: <20051228193051.GD23207@petdance.com>

p4raw-id: //depot/perl@26524

sv.h

diff --git a/sv.h b/sv.h
index acb4fe6..b5aeac8 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -169,7 +169,7 @@ perform the upgrade if necessary.  See C<svtype>.
     })
 #else
 #  define SvREFCNT_inc(sv)     \
-       ((PL_Sv=(SV*)(sv)), (PL_Sv && ++(SvREFCNT(PL_Sv))), (SV*)PL_Sv)
+       ((PL_Sv=(SV*)(sv)) ? ((++(SvREFCNT(PL_Sv))),(PL_Sv)) : NULL)
 #endif
 
 #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)