Eliminate last 'local' variables.
authorJames E. Keenan <jkeenan@cpan.org>
Sat, 20 Mar 2010 17:30:08 +0000 (13:30 -0400)
committerSteffen Mueller <smueller@cpan.org>
Tue, 12 Jul 2011 18:53:51 +0000 (20:53 +0200)
In two cases, guarantee that generate_init() is explicitly passed
all 4 arguments. With this commit, ExtUtils::ParseXS for the first
time ever runs completely under 'use strict;'.

dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm

index ba9a9aa..8a46ef9 100644 (file)
@@ -1,6 +1,5 @@
 package ExtUtils::ParseXS;
-use strict 'subs';
-use strict 'refs';
+use strict;
 
 use 5.006;  # We use /??{}/ in regexes
 use Cwd;
@@ -675,12 +674,12 @@ EOF
         if (defined($static) or $func_name eq 'new') {
           print "\tchar *";
           $var_types{"CLASS"} = "char *";
-          &generate_init("char *", 1, "CLASS");
+          &generate_init("char *", 1, "CLASS", undef);
         }
         else {
           print "\t$class *";
           $var_types{"THIS"} = "$class *";
-          &generate_init("$class *", 1, "THIS");
+          &generate_init("$class *", 1, "THIS", undef);
         }
       }
 
@@ -1413,6 +1412,7 @@ sub PROTOTYPES_handler () {
 }
 
 sub PushXSStack {
+  my %args = @_;
   # Save the current file context.
   push(@XSStack, {
           type            => 'file',
@@ -1676,8 +1676,8 @@ sub fetch_para {
 }
 
 sub output_init {
-  local($type, $num, $var, $init, $printed_name) = @_;
-  local($arg) = "ST(" . ($num - 1) . ")";
+  my ($type, $num, $var, $init, $printed_name) = @_;
+  my $arg = "ST(" . ($num - 1) . ")";
 
   if (  $init =~ /^=/  ) {
     if ($printed_name) {
@@ -1724,13 +1724,8 @@ sub death {
 }
 
 sub generate_init {
-#  local($type, $num, $var) = @_;
-#  local($arg) = "ST(" . ($num - 1) . ")";
-  my ($type, $num, $var) = @_;
+  my ($type, $num, $var, $printed_name) = @_;
   my $arg = "ST(" . ($num - 1) . ")";
-#  local($argoff) = $num - 1;
-#  local($ntype);
-#  local($tk);
   my ($argoff, $ntype, $tk);
   $argoff = $num - 1;
 
@@ -1809,12 +1804,8 @@ sub generate_init {
 }
 
 sub generate_output {
-#  local($type, $num, $var, $do_setmagic, $do_push) = @_;
-#  local($arg) = "ST(" . ($num - ($num != 0)) . ")";
   my ($type, $num, $var, $do_setmagic, $do_push) = @_;
   my $arg = "ST(" . ($num - ($num != 0)) . ")";
-#  local($argoff) = $num - 1;
-#  local($ntype);
   my $ntype;
 
   $type = tidy_type($type);