X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=gv.c;h=cb38bad8ab832faa65e259a67843c470b4360fb5;hb=6f84cdf987838c544bcd95f51ff8d4f3ef90f529;hp=c136fc5ed45fd14d7f51bc35bc127db068751702;hpb=dc437b5767e75ec9db9c2a0bb7ea934b28a3fe8a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/gv.c b/gv.c index c136fc5..cb38bad 100644 --- a/gv.c +++ b/gv.c @@ -241,9 +241,10 @@ char* name; /* Failed obvious case - look for SUPER as last element of stash's name */ char *packname = HvNAME(stash); STRLEN len = strlen(packname); - if ((len -= 7) >= 0 && strEQ(packname+len,"::SUPER")) { + if (len >= 7 && strEQ(packname+len-7,"::SUPER")) { /* Now look for @.*::SUPER::ISA */ GV** gvp = (GV**)hv_fetch(stash,"ISA",3,FALSE); + len -= 7; if (!gvp || (gv = *gvp) == (GV*)&sv_undef || !GvAV(gv)) { /* No @ISA in package ending in ::SUPER - drop suffix and see if there is an @ISA there