diff options
author | James E. Keenan <jkeenan@cpan.org> | 2010-03-31 22:48:28 -0400 |
---|---|---|
committer | Steffen Mueller <smueller@cpan.org> | 2011-07-12 20:53:54 +0200 |
commit | fe36d2069550819e51746a726236b08cefdb4313 (patch) | |
tree | ec598d4015f5e1588d1a9267ff7a4e56d3118719 | |
parent | 879310359dd0a26e227299023420b4cc6501f6b0 (diff) | |
download | perl-fe36d2069550819e51746a726236b08cefdb4313.tar.gz |
Move %defaults to $self.
-rw-r--r-- | dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm index ab50ea9393..39919916f9 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm @@ -39,7 +39,6 @@ our ( # because I suspect they will pose the same problems as those in the statement # above. our ($newXS, $proto, $Module_cname, ); -our ( %defaults, ); our $self = {}; @@ -365,7 +364,7 @@ EOF # initialize info arrays undef(%{ $self->{args_match} }); undef(%{ $self->{var_types} }); - undef(%defaults); + undef(%{ $self->{defaults} }); undef(%{ $self->{arg_list} }); undef(@{ $self->{proto_arg} }); undef($self->{processing_arg_with_types}); @@ -534,8 +533,8 @@ EOF if ($args[$i] =~ /^([^=]*[^\s=])\s*=\s*(.*)/s) { $extra_args++; $args[$i] = $1; - $defaults{$args[$i]} = $2; - $defaults{$args[$i]} =~ s/"/\\"/g; + $self->{defaults}->{$args[$i]} = $2; + $self->{defaults}->{$args[$i]} =~ s/"/\\"/g; } $self->{proto_arg}->[$i+1] = '$'; } @@ -1788,7 +1787,7 @@ sub generate_init { print "\t$var" unless $printed_name; print " = ($type)SvPV($arg, STRLEN_length_of_$var);\n"; die "default value not supported with length(NAME) supplied" - if defined $defaults{$var}; + if defined $self->{defaults}->{$var}; return; } $type =~ tr/:/_/ unless $self->{hiertype}; @@ -1812,7 +1811,7 @@ sub generate_init { if ($expr =~ m#/\*.*scope.*\*/#i) { # "scope" in C comments $self->{ScopeThisXSUB} = 1; } - if (defined($defaults{$var})) { + if (defined($self->{defaults}->{$var})) { $expr =~ s/(\t+)/$1 /g; $expr =~ s/ /\t/g; if ($printed_name) { @@ -1822,11 +1821,11 @@ sub generate_init { eval qq/print "\\t$var;\\n"/; warn $@ if $@; } - if ($defaults{$var} eq 'NO_INIT') { + if ($self->{defaults}->{$var} eq 'NO_INIT') { $self->{deferred} .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/; } else { - $self->{deferred} .= eval qq/"\\n\\tif (items < $num)\\n\\t $var = $defaults{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/; + $self->{deferred} .= eval qq/"\\n\\tif (items < $num)\\n\\t $var = $self->{defaults}->{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/; } warn $@ if $@; } |