diff --git a/perl/xs-src/unpack.c b/perl/xs-src/unpack.c index a4929c0..20b345f 100644 --- a/perl/xs-src/unpack.c +++ b/perl/xs-src/unpack.c @@ -113,28 +113,18 @@ STATIC_INLINE int template_callback_IV(unpack_user* u PERL_UNUSED_DECL, IV const static int template_callback_uint64(unpack_user* u PERL_UNUSED_DECL, uint64_t const d, SV** o) { dTHX; - if((uint64_t)(NV)d == d) { - *o = newSVnv((NV)d); - } - else { - char tbuf[64]; - STRLEN const len = my_snprintf(tbuf, sizeof(tbuf), "%llu", d); - *o = newSVpvn(tbuf, len); - } + char tbuf[64]; + STRLEN const len = my_snprintf(tbuf, sizeof(tbuf), "%llu", d); + *o = newSVpvn(tbuf, len); return 0; } static int template_callback_int64(unpack_user* u PERL_UNUSED_DECL, int64_t const d, SV** o) { dTHX; - if((uint64_t)(NV)d == (uint64_t)d) { - *o = newSVnv((NV)d); - } - else { - char tbuf[64]; - STRLEN const len = my_snprintf(tbuf, sizeof(tbuf), "%lld", d); - *o = newSVpvn(tbuf, len); - } + char tbuf[64]; + STRLEN const len = my_snprintf(tbuf, sizeof(tbuf), "%lld", d); + *o = newSVpvn(tbuf, len); return 0; }