VMS-specific scope fix for S_mayberelocate.
authorCraig A. Berry <craigberry@mac.com>
Sat, 3 Dec 2011 16:36:58 +0000 (10:36 -0600)
committerCraig A. Berry <craigberry@mac.com>
Thu, 25 Oct 2012 13:12:09 +0000 (08:12 -0500)
Back in 3185893b8dec106 I moved some code from the beginning of one
block to the middle of a different block.  Bad me.  The compiler
has been lax about allowing declarations in the middle of a block,
so we haven't noticed.  But as of c29067d7797853039, the code moved
to a new function while leaving the block it was in behind and we
end up with conflicting declarations of len.

Making our own block seems like the safest thing to do.  The
indentation in this section of code is a bit wacky -- I chose the
least intrusive alternative for clearer blame logs.

perl.c

index ef97eb2..0ba5bac 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -4420,6 +4420,7 @@ S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags)
        }
 
 #ifdef VMS
+    {
        char *unix;
        STRLEN len;
 
@@ -4432,6 +4433,7 @@ S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags)
            PerlIO_printf(Perl_error_log,
                          "Failed to unixify @INC element \"%s\"\n",
                          SvPV(libdir,len));
+    }
 #endif
 
        /* Do the if() outside the #ifdef to avoid warnings about an unused