Change 15208 by jhi@alpha on 2002/03/12 20:43:46
Small tweaks.
Affected files ...
.... //depot/perl/lib/Internals.t#2 edit
.... //depot/perl/universal.c#48 edit
Differences ...
==== //depot/perl/lib/Internals.t#2 (text) ====
Index: perl/lib/Internals.t
--- perl/lib/Internals.t.~1~ Tue Mar 12 14:00:05 2002
+++ perl/lib/Internals.t Tue Mar 12 14:00:05 2002
@@ -7,9 +7,11 @@
}
}
-use Test::More tests => 29;
+use Test::More tests => 33;
my $foo;
+my @foo;
+my %foo;
ok( !Internals::SvREADONLY $foo );
ok( Internals::SvREADONLY $foo, 1 );
@@ -49,3 +51,8 @@
}
is( Internals::SvREFCNT($foo), 1 );
+is( Internals::SvREFCNT(@foo), 1 );
+is( Internals::SvREFCNT($foo[2]), 1 );
+is( Internals::SvREFCNT(%foo), 1 );
+is( Internals::SvREFCNT($foo{foo}), 1 );
+
==== //depot/perl/universal.c#48 (text) ====
Index: perl/universal.c
--- perl/universal.c.~1~ Tue Mar 12 14:00:05 2002
+++ perl/universal.c Tue Mar 12 14:00:05 2002
@@ -462,7 +462,7 @@
XSRETURN(1);
}
-XS(XS_Internals_SvREADONLY)
+XS(XS_Internals_SvREADONLY) /* This is dangerous stuff. */
{
dXSARGS;
SV *sv = SvRV(ST(0));
@@ -478,23 +478,25 @@
XSRETURN_YES;
}
else {
+ /* I hope you really know what you are doing. */
SvREADONLY_off(sv);
XSRETURN_NO;
}
}
- XSRETURN_UNDEF;
+ XSRETURN_UNDEF; /* Can't happen. */
}
-XS(XS_Internals_SvREFCNT)
+XS(XS_Internals_SvREFCNT) /* This is dangerous stuff. */
{
dXSARGS;
SV *sv = SvRV(ST(0));
if (items == 1)
- XSRETURN_IV(SvREFCNT(sv) - 1); /* minus the SvRV above */
+ XSRETURN_IV(SvREFCNT(sv) - 1); /* Minus the ref created for us. */
else if (items == 2) {
+ /* I hope you really know what you are doing. */
SvREFCNT(sv) = SvIV(ST(1));
XSRETURN_IV(SvREFCNT(sv));
}
- XSRETURN_UNDEF;
+ XSRETURN_UNDEF; /* Can't happen. */
}
End of Patch.