mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-21 23:56:55 +02:00
check SvROK first
This commit is contained in:
@@ -141,6 +141,9 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
|
|||||||
if (val==NULL) {
|
if (val==NULL) {
|
||||||
msgpack_pack_nil(enc);
|
msgpack_pack_nil(enc);
|
||||||
return;
|
return;
|
||||||
|
} else if (SvROK(val)) {
|
||||||
|
_msgpack_pack_sv(enc, SvRV(val));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (SvTYPE(val)) {
|
switch (SvTYPE(val)) {
|
||||||
@@ -200,9 +203,6 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SVt_RV:
|
|
||||||
_msgpack_pack_sv(enc, SvRV(val));
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
if (SvPOKp(val)) {
|
if (SvPOKp(val)) {
|
||||||
STRLEN len;
|
STRLEN len;
|
||||||
|
Reference in New Issue
Block a user