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.

Reply via email to