Perl: use SvNOK.

This commit is contained in:
Tokuhiro Matsuno 2009-07-03 18:18:40 +09:00
parent cb5c878b77
commit 661f273481

View File

@ -163,9 +163,6 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
} }
} }
break; break;
case SVt_NV:
PACK_WRAPPER(NVTYPE)(enc, SvNV(val));
break;
case SVt_PVAV: case SVt_PVAV:
{ {
AV* ary = (AV*)val; AV* ary = (AV*)val;
@ -212,6 +209,8 @@ static void _msgpack_pack_sv(enc_t *enc, SV* val) {
msgpack_pack_uint32(enc, SvUV(val)); msgpack_pack_uint32(enc, SvUV(val));
} else if (SvIOK(val)) { } else if (SvIOK(val)) {
PACK_WRAPPER(IVTYPE)(enc, SvIV(val)); PACK_WRAPPER(IVTYPE)(enc, SvIV(val));
} else if (SvNOK(val)) {
PACK_WRAPPER(NVTYPE)(enc, SvNV(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));