summaryrefslogtreecommitdiff
path: root/perl/xs-src
diff options
context:
space:
mode:
authorgfx <gfuji@cpan.org>2010-09-15 14:06:10 +0900
committergfx <gfuji@cpan.org>2010-09-15 14:06:10 +0900
commit83acd6529fe4902624117cab62c2377aa3fe2b27 (patch)
treec80398bf91f8656c8269d7eee56390a4aeb1c182 /perl/xs-src
parent6a60cb4dc0d5c2e36a4aa8fd8dbe5b3c826a935d (diff)
downloadmsgpack-python-83acd6529fe4902624117cab62c2377aa3fe2b27.tar.gz
Remove an unused user data: source (sv)
Diffstat (limited to 'perl/xs-src')
-rw-r--r--perl/xs-src/unpack.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/perl/xs-src/unpack.c b/perl/xs-src/unpack.c
index 320eb45..90cfa7b 100644
--- a/perl/xs-src/unpack.c
+++ b/perl/xs-src/unpack.c
@@ -3,9 +3,8 @@
#include "xshelper.h"
typedef struct {
- int finished;
- SV* source;
- int incremented;
+ bool finished;
+ bool incremented;
} unpack_user;
#include "msgpack/unpack_define.h"
@@ -211,7 +210,7 @@ STATIC_INLINE int template_callback_raw(unpack_user* u PERL_UNUSED_DECL, const c
STATIC_INLINE SV* _msgpack_unpack(SV* data, size_t limit PERL_UNUSED_DECL) {
msgpack_unpack_t mp;
dTHX;
- unpack_user u = {0, &PL_sv_undef, false};
+ unpack_user u = {false, false};
int ret;
size_t from = 0;
STRLEN dlen;
@@ -221,10 +220,7 @@ STATIC_INLINE SV* _msgpack_unpack(SV* data, size_t limit PERL_UNUSED_DECL) {
template_init(&mp);
mp.user = u;
- mp.user.source = data;
ret = template_execute(&mp, dptr, (size_t)dlen, &from);
- mp.user.source = &PL_sv_undef;
-
obj = template_data(&mp);
if(ret < 0) {
@@ -264,7 +260,7 @@ XS(xs_unpack) {
STATIC_INLINE void _reset(SV* self) {
dTHX;
- unpack_user u = {0, &PL_sv_undef, 0};
+ unpack_user u = {false, false};
UNPACKER(self, mp);
template_init(mp);
@@ -302,17 +298,15 @@ STATIC_INLINE SV* _execute_impl(SV* self, SV* data, UV off, I32 limit) {
Perl_croak(aTHX_ "offset is bigger than data buffer size.");
}
- mp->user.source = data;
ret = template_execute(mp, dptr, (size_t)dlen, &from);
- mp->user.source = &PL_sv_undef;
if(ret < 0) {
Perl_croak(aTHX_ "parse error.");
} else if(ret > 0) {
- mp->user.finished = 1;
+ mp->user.finished = true;
return sv_2mortal(newSVuv(from));
} else {
- mp->user.finished = 0;
+ mp->user.finished = false;
return sv_2mortal(newSVuv(from));
}
}
@@ -335,7 +329,7 @@ XS(xs_unpacker_execute) {
SV * d2 = template_data(mp);
if (!mp->user.incremented && d2) {
SvREFCNT_inc(d2);
- mp->user.incremented = 1;
+ mp->user.incremented = true;
}
}
}
@@ -366,7 +360,7 @@ XS(xs_unpacker_is_finished) {
}
UNPACKER(ST(0), mp);
- ST(0) = (mp->user.finished) ? &PL_sv_yes : &PL_sv_no;
+ ST(0) = boolSV(mp->user.finished);
XSRETURN(1);
}