Simplify Perl_allocmy slightly, and cope better with the name is ""
Nicholas Clark [Wed, 9 Nov 2005 11:21:10 +0000 (11:21 +0000)]
case.

p4raw-id: //depot/perl@26061

op.c

diff --git a/op.c b/op.c
index 2ca186c..03ca56e 100644 (file)
--- a/op.c
+++ b/op.c
@@ -211,11 +211,13 @@ Perl_allocmy(pTHX_ char *name)
     PADOFFSET off;
 
     /* complain about "my $<special_var>" etc etc */
-    if (!(PL_in_my == KEY_our ||
+    if (*name &&
+       !(PL_in_my == KEY_our ||
          isALPHA(name[1]) ||
          (USE_UTF8_IN_NAMES && UTF8_IS_START(name[1])) ||
-         (name[1] == '_' && (*name == '$' || (int)strlen(name) > 2))))
+         (name[1] == '_' && (*name == '$' || name[2]))))
     {
+       /* name[2] is true if strlen(name) > 2  */
        if (!isPRINT(name[1]) || strchr("\t\n\r\f", name[1])) {
            /* 1999-02-27 mjd@plover.com */
            char *p;