diff options
| author | gfx <gfuji@cpan.org> | 2010-09-15 14:06:10 +0900 |
|---|---|---|
| committer | gfx <gfuji@cpan.org> | 2010-09-15 14:06:10 +0900 |
| commit | 83acd6529fe4902624117cab62c2377aa3fe2b27 (patch) | |
| tree | c80398bf91f8656c8269d7eee56390a4aeb1c182 /perl/xs-src | |
| parent | 6a60cb4dc0d5c2e36a4aa8fd8dbe5b3c826a935d (diff) | |
| download | msgpack-python-83acd6529fe4902624117cab62c2377aa3fe2b27.tar.gz | |
Remove an unused user data: source (sv)
Diffstat (limited to 'perl/xs-src')
| -rw-r--r-- | perl/xs-src/unpack.c | 22 |
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); } |
