… | |
… | |
1818 | SV *incr_text (JSON *self) |
1818 | SV *incr_text (JSON *self) |
1819 | ATTRS: lvalue |
1819 | ATTRS: lvalue |
1820 | CODE: |
1820 | CODE: |
1821 | { |
1821 | { |
1822 | if (self->incr_pos) |
1822 | if (self->incr_pos) |
1823 | croak ("incr_text can only be called after a successful incr_parse call in scalar context %d", self->incr_pos);//D |
1823 | croak ("incr_text can only be called after a successful incr_parse call in scalar context"); |
1824 | |
1824 | |
1825 | RETVAL = self->incr_text ? SvREFCNT_inc (self->incr_text) : &PL_sv_undef; |
1825 | RETVAL = self->incr_text ? SvREFCNT_inc (self->incr_text) : &PL_sv_undef; |
1826 | } |
1826 | } |
1827 | OUTPUT: |
1827 | OUTPUT: |
1828 | RETVAL |
1828 | RETVAL |
|
|
1829 | |
|
|
1830 | void incr_skip (JSON *self) |
|
|
1831 | CODE: |
|
|
1832 | { |
|
|
1833 | if (!self->incr_pos || !INCR_DONE (self)) |
|
|
1834 | croak ("incr_text can only be called after an unsuccessful incr_parse call in scalar context");//D |
|
|
1835 | |
|
|
1836 | sv_chop (self->incr_text, SvPV_nolen (self->incr_text) + self->incr_pos); |
|
|
1837 | self->incr_pos = 0; |
|
|
1838 | self->incr_nest = 0; |
|
|
1839 | self->incr_mode = 0; |
|
|
1840 | } |
1829 | |
1841 | |
1830 | void DESTROY (JSON *self) |
1842 | void DESTROY (JSON *self) |
1831 | CODE: |
1843 | CODE: |
1832 | SvREFCNT_dec (self->cb_sk_object); |
1844 | SvREFCNT_dec (self->cb_sk_object); |
1833 | SvREFCNT_dec (self->cb_object); |
1845 | SvREFCNT_dec (self->cb_object); |