summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-01-17 18:24:50 +0000
committerNicholas Clark <nick@ccl4.org>2007-01-17 18:24:50 +0000
commit5302ffd479952aac7b09adb0db5642b6376ad312 (patch)
tree29b93c9c3c2b9f1fa950795ac0f0dcc5fdfef666 /sv.h
parent0d092c369b1b264b1238936288c807173152e270 (diff)
downloadperl-5302ffd479952aac7b09adb0db5642b6376ad312.tar.gz
Make PERL_OLD_COPY_ON_WRITE build again. Inline Perl_sv_release_IVX().
(Currently it fails ext/Compress/Raw/Zlib/t/07bufsize.t) p4raw-id: //depot/perl@29853
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sv.h b/sv.h
index 276144d0e6..52b325479a 100644
--- a/sv.h
+++ b/sv.h
@@ -1865,8 +1865,8 @@ Like C<sv_catsv> but doesn't process magic.
sv_force_normal_flags(sv, SV_COW_DROP_PV)
#ifdef PERL_OLD_COPY_ON_WRITE
-# define SvRELEASE_IVX(sv) ((void)((SvFLAGS(sv) & (SVf_OOK|SVf_READONLY|SVf_FAKE)) \
- && Perl_sv_release_IVX(aTHX_ sv)))
+#define SvRELEASE_IVX(sv) \
+ ((SvIsCOW(sv) ? sv_force_normal_flags(sv, 0) : (void) 0), SvOOK_off(sv))
# define SvIsCOW_normal(sv) (SvIsCOW(sv) && SvLEN(sv))
#else
# define SvRELEASE_IVX(sv) SvOOK_off(sv)