--- JSON-XS/XS.xs 2008/03/25 19:31:02 1.78 +++ JSON-XS/XS.xs 2008/03/25 23:00:31 1.79 @@ -1820,13 +1820,25 @@ CODE: { if (self->incr_pos) - croak ("incr_text can only be called after a successful incr_parse call in scalar context %d", self->incr_pos);//D + croak ("incr_text can only be called after a successful incr_parse call in scalar context"); RETVAL = self->incr_text ? SvREFCNT_inc (self->incr_text) : &PL_sv_undef; } OUTPUT: RETVAL +void incr_skip (JSON *self) + CODE: +{ + if (!self->incr_pos || !INCR_DONE (self)) + croak ("incr_text can only be called after an unsuccessful incr_parse call in scalar context");//D + + sv_chop (self->incr_text, SvPV_nolen (self->incr_text) + self->incr_pos); + self->incr_pos = 0; + self->incr_nest = 0; + self->incr_mode = 0; +} + void DESTROY (JSON *self) CODE: SvREFCNT_dec (self->cb_sk_object);