%argtype_seen, %in_out, %lengthof,
@line_no,
%XsubAliases, %XsubAliasValues, %Interfaces, @Attributes, %outargs,
- $deferred, $gotRETVAL, $condnum, $cond,
+ $gotRETVAL, $condnum, $cond,
$RETVAL_code, $func_args, @XSStack, $ALIAS,
);
our ($DoSetMagic, $newXS, $proto, $Module_cname, $XsubAliases, $Interfaces, $var_num, );
# do initialization of input variables
$self->{thisdone} = 0;
$self->{retvaldone} = 0;
- $deferred = "";
+ $self->{deferred} = "";
%arg_list = ();
$gotRETVAL = 0;
$self->{processing_arg_with_types} = 1;
INPUT_handler();
}
- print $deferred;
+ print $self->{deferred};
process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD");
if (s/^([^=]*)\blength\(\s*(\w+)\s*\)\s*$/$1 XSauto_length_of_$2=NO_INIT/x) {
print "\tSTRLEN\tSTRLEN_length_of_$2;\n";
$lengthof{$2} = undef;
- $deferred .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
+ $self->{deferred} .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
}
# check for optional initialisation code
warn $@ if $@;
$init =~ s/^;//;
}
- $deferred .= eval qq/"\\n\\t$init\\n"/;
+ $self->{deferred} .= eval qq/"\\n\\t$init\\n"/;
warn $@ if $@;
}
}
warn $@ if $@;
}
if ($defaults{$var} eq 'NO_INIT') {
- $deferred .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
+ $self->{deferred} .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
}
else {
- $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 = $defaults{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/;
}
warn $@ if $@;
}
eval qq/print "\\t$var;\\n"/;
warn $@ if $@;
}
- $deferred .= eval qq/"\\n$expr;\\n"/;
+ $self->{deferred} .= eval qq/"\\n$expr;\\n"/;
warn $@ if $@;
}
else {