Change 33668 by [EMAIL PROTECTED] on 2008/04/11 12:32:09
Subject: [PATCH] Double magic with '\&$x'
From: "Vincent Pit" <[EMAIL PROTECTED]>
Date: Tue, 1 Apr 2008 10:48:17 +0200 (CEST)
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/sv.c#1536 edit
Differences ...
==== //depot/perl/sv.c#1536 (text) ====
Index: perl/sv.c
--- perl/sv.c#1535~33632~ 2008-04-02 14:03:33.000000000 -0700
+++ perl/sv.c 2008-04-11 05:32:09.000000000 -0700
@@ -7872,8 +7872,8 @@
goto fix_gv;
default:
- SvGETMAGIC(sv);
if (SvROK(sv)) {
+ SvGETMAGIC(sv);
SV * const *sp = &sv; /* Used in tryAMAGICunDEREF macro. */
tryAMAGICunDEREF(to_cv);
@@ -7889,10 +7889,12 @@
else
Perl_croak(aTHX_ "Not a subroutine reference");
}
- else if (isGV(sv))
+ else if (isGV(sv)) {
+ SvGETMAGIC(sv);
gv = (GV*)sv;
+ }
else
- gv = gv_fetchsv(sv, lref, SVt_PVCV);
+ gv = gv_fetchsv(sv, lref, SVt_PVCV); /* Calls get magic */
*gvp = gv;
if (!gv) {
*st = NULL;
End of Patch.