From 84da5602d79c53542bee8b70ec90a6130da1175e Mon Sep 17 00:00:00 2001 From: Eric Brine Date: Thu, 19 Jan 2012 18:19:16 -0800 Subject: [PATCH] (PerlIO::)scalar.t: Add function for testing trailing null --- ext/PerlIO-scalar/t/scalar.t | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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"; +} -- 2.7.4