From f1c294ca5012329c3d550d7b32a34a5d8039de7c Mon Sep 17 00:00:00 2001
From: "Fuji, Goro" <gfuji@cpan.org>
Date: Sat, 30 Oct 2010 00:28:53 +0900
Subject: [PATCH] perl: make error messages compatible with XS

---
 perl/lib/Data/MessagePack/PP.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/perl/lib/Data/MessagePack/PP.pm b/perl/lib/Data/MessagePack/PP.pm
index 5e640930..8d148d2e 100644
--- a/perl/lib/Data/MessagePack/PP.pm
+++ b/perl/lib/Data/MessagePack/PP.pm
@@ -305,10 +305,10 @@ foreach my $pair(
 sub _unpack {
     my ( $value ) = @_;
     # get a header byte
-    my $byte = unpack "x$p C", $value; # "x$p" is faster than substr()
+    defined(my $byte = unpack "x$p C", $value)
+        or Carp::confess("Data::MessagePack->unpack: insufficient bytes");
     $p++;
 
-    Carp::croak("invalid data") unless defined $byte;
 
     # +/- fixnum, nil, true, false
     return $byte2value[$byte] if $typemap[$byte] & $T_DIRECT;