mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-19 21:18:23 +01:00
Perl: check IV by SvIOK
This commit is contained in:
parent
ad7cf12128
commit
34ed3bc9e3
11
perl/pack.c
11
perl/pack.c
@ -150,13 +150,6 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
|
|||||||
case SVt_NULL:
|
case SVt_NULL:
|
||||||
msgpack_pack_nil(enc);
|
msgpack_pack_nil(enc);
|
||||||
break;
|
break;
|
||||||
case SVt_IV:
|
|
||||||
if (SvIOK_UV(val)) {
|
|
||||||
msgpack_pack_uint32(enc, SvUV(val));
|
|
||||||
} else {
|
|
||||||
PACK_WRAPPER(IVTYPE)(enc, SvIV(val));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SVt_PVNV:
|
case SVt_PVNV:
|
||||||
{
|
{
|
||||||
STRLEN len = 0;
|
STRLEN len = 0;
|
||||||
@ -215,6 +208,10 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
|
|||||||
msgpack_pack_raw(enc, len);
|
msgpack_pack_raw(enc, len);
|
||||||
msgpack_pack_raw_body(enc, cval, len);
|
msgpack_pack_raw_body(enc, cval, len);
|
||||||
return;
|
return;
|
||||||
|
} else if (SvIOK_UV(val)) {
|
||||||
|
msgpack_pack_uint32(enc, SvUV(val));
|
||||||
|
} else if (SvIOK(val)) {
|
||||||
|
PACK_WRAPPER(IVTYPE)(enc, SvIV(val));
|
||||||
} else {
|
} else {
|
||||||
sv_dump(val);
|
sv_dump(val);
|
||||||
Perl_croak(aTHX_ "msgpack for perl doesn't supported this type: %d\n", SvTYPE(val));
|
Perl_croak(aTHX_ "msgpack for perl doesn't supported this type: %d\n", SvTYPE(val));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user