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.

Reply via email to