From: Eric Brine Date: Fri, 20 Jan 2012 02:19:16 +0000 (-0800) Subject: (PerlIO::)scalar.t: Add function for testing trailing null X-Git-Tag: accepted/trunk/20130322.191538~1065 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=84da5602d79c53542bee8b70ec90a6130da1175e;p=platform%2Fupstream%2Fperl.git (PerlIO::)scalar.t: Add function for testing trailing null --- diff --git a/ext/PerlIO-scalar/t/scalar.t b/ext/PerlIO-scalar/t/scalar.t index b59e3aa..48883b6 100644 --- a/ext/PerlIO-scalar/t/scalar.t +++ b/ext/PerlIO-scalar/t/scalar.t @@ -317,3 +317,17 @@ EOF open my $fh, "<", \(my $f=*f); seek $fh, -2,2; pass 'seeking on a glob copy from the end'; } + +sub has_trailing_nul(\$) { + my ($ref) = @_; + my $sv = B::svref_2object($ref); + return undef if !$sv->isa('B::PV'); + + my $cur = $sv->CUR; + my $len = $sv->LEN; + return 0 if $cur >= $len; + + my $pv_addr = unpack 'J', pack 'P', $$ref; + my $trailing = unpack 'P', pack 'J', $pv_addr+$cur; + return $trailing eq "\0"; +}