Bypass a switch in gv_fetchpvn for 2-char symbols
authorFather Chrysostomos <sprout@cpan.org>
Fri, 24 Jun 2011 13:20:16 +0000 (06:20 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Fri, 24 Jun 2011 15:19:28 +0000 (08:19 -0700)
The switch that checks for ISA, EXPORT, etc. in packages other
than main was guarded with an if(len>1) statement.  Since ISA is
three characters, we can bypass that entire switch for two-charac-
ter symbols.

gv.c

diff --git a/gv.c b/gv.c
index 9bb428d..79bc0e9 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -1291,7 +1291,7 @@ Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN full_len, I32 flags,
     if (stash != PL_defstash) { /* not the main stash */
        /* We only have to check for four names here: EXPORT, ISA, OVERLOAD
           and VERSION. All the others apply only to the main stash. */
-       if (len > 1) {
+       if (len > 2) {
            const char * const name2 = name + 1;
            switch (*name) {
            case 'E':