-----Original Message-----
From: [email protected]
I don't know (off the top of my head) how to concatenate binary strings in
C ...
Thankfully, perl's API provides a simple solution:
##############################
use warnings;
use strict;
use Devel::Peek;
use Inline C => Config =>
BUILD_NOISY => 1,
;
use Inline C => <<'EOC';
SV * foo(SV * in) {
SV * ret;
STRLEN len;
char *tmp = SvPV(in, len);
ret = newSVpv(tmp, len);
sv_catpvn(ret, tmp, len);
return ret;
}
EOC
my $in = 'hello' . "\x00" . 'world';
my $ret = foo($in);
$ret eq $in . $in ? print "\nok 1\n\n"
: print "\nnot ok 1\n\n";
Dump($in);
print "\n";
Dump ($ret);
##############################
Cheers,
Rob