From b45dc8db61a5f97369094592bcf80116c1019c37 Mon Sep 17 00:00:00 2001 From: Tokuhiro Matsuno <tokuhirom@gmail.com> Date: Fri, 3 Jul 2009 15:14:31 +0900 Subject: [PATCH] check SvROK first --- perl/pack.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/perl/pack.c b/perl/pack.c index b329551b..b1e56778 100644 --- a/perl/pack.c +++ b/perl/pack.c @@ -141,6 +141,9 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) { if (val==NULL) { msgpack_pack_nil(enc); return; + } else if (SvROK(val)) { + _msgpack_pack_sv(enc, SvRV(val)); + return; } switch (SvTYPE(val)) { @@ -200,9 +203,6 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) { } } break; - case SVt_RV: - _msgpack_pack_sv(enc, SvRV(val)); - break; default: if (SvPOKp(val)) { STRLEN len;