use strict;
use warnings;
use Inline C => Config =>
BUILD_NOISY => 1,
;
use Inline C =><<'EOC';
unsigned char * foo(unsigned char * name) {
if(name) printf("True\n");
else printf("False\n");
return(NULL);
}
unsigned char * bar() {
return (foo(NULL));
}
EOC
foo(undef);
bar();
__END__
Outputs:
True
False
####
# plagiarised from default perl typemap
unmapped T_PTR
INPUT
T_PTR
$var = INT2PTR($type,SvIV($arg))
OUTPUT
T_PTR
sv_setiv($arg, PTR2IV($var));
##
##
use strict;
use warnings;
use Inline C => Config =>
TYPEMAPS => "nullmap.txt",
BUILD_NOISY => 1,
;
use Inline C =><<'EOC';
typedef unsigned char * unmapped;
unmapped foo(unmapped name) {
if(name) printf("True\n");
else printf("False\n");
return(NULL);
}
unsigned char * bar() {
return (foo(NULL));
}
EOC
foo(undef);
bar();
__END__
Outputs:
False
False