985
985
next ;
986
986
}
987
987
988
- # Decompose parameter into its components
988
+ # Decompose parameter into its components.
989
+ # Note that $name can be either 'foo' or 'length(foo)'
989
990
990
- my ($out_type , $type , $name_or_lenname , $sp1 , $sp2 , $default ) =
991
+ my ($out_type , $type , $name , $sp1 , $sp2 , $default ) =
991
992
/ ^
992
993
(?:
993
994
(IN|IN_OUT|IN_OUTLIST|OUT|OUTLIST)
@@ -1006,24 +1007,24 @@ EOM
1006
1007
$
1007
1008
/x ;
1008
1009
1009
- unless (defined $name_or_lenname ) {
1010
+ unless (defined $name ) {
1010
1011
$self -> blurt(" Unparseable XSUB parameter: '$_ '" );
1011
1012
next ;
1012
1013
}
1013
1014
1014
1015
my ExtUtils::ParseXS::Node::Param $param
1015
1016
= ExtUtils::ParseXS::Node::Param-> new( {
1016
- var => $name_or_lenname ,
1017
+ var => $name ,
1017
1018
});
1018
1019
1019
- if (exists $sig -> {names }{$name_or_lenname }) {
1020
+ if (exists $sig -> {names }{$name }) {
1020
1021
$self -> blurt(
1021
- " Error: duplicate definition of argument '$name_or_lenname ' ignored" );
1022
+ " Error: duplicate definition of argument '$name ' ignored" );
1022
1023
next ;
1023
1024
}
1024
1025
1025
1026
push @{$sig -> {params }}, $param ;
1026
- $sig -> {names }{$name_or_lenname } = $param ;
1027
+ $sig -> {names }{$name } = $param ;
1027
1028
1028
1029
# Process optional IN/OUT etc modifier
1029
1030
@@ -1053,7 +1054,7 @@ EOM
1053
1054
my $is_length ;
1054
1055
my $len_name ;
1055
1056
1056
- if ($name_or_lenname =~ / ^length\( \s * (\w +) \s * \)\z /x ) {
1057
+ if ($name =~ / ^length\( \s * (\w +) \s * \)\z /x ) {
1057
1058
if ($self -> {config_allow_argtypes }) {
1058
1059
$len_name = $1 ;
1059
1060
$is_length = 1;
0 commit comments