summaryrefslogtreecommitdiff
path: root/ext/ffi_yajl/ext/parser/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ffi_yajl/ext/parser/parser.c')
-rw-r--r--ext/ffi_yajl/ext/parser/parser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/ffi_yajl/ext/parser/parser.c b/ext/ffi_yajl/ext/parser/parser.c
index 9256469..8f9ccc0 100644
--- a/ext/ffi_yajl/ext/parser/parser.c
+++ b/ext/ffi_yajl/ext/parser/parser.c
@@ -170,6 +170,8 @@ static VALUE mParser_do_yajl_parse(VALUE self, VALUE str, VALUE opts) {
/* hack to avoid garbage collection */
rb_ivar_set(self, rb_intern("stack"), ctx.stack);
rb_ivar_set(self, rb_intern("key_stack"), ctx.key_stack);
+ rb_ivar_set(self, rb_intern("finished"), ctx.stack);
+ rb_ivar_set(self, rb_intern("key"), ctx.stack);
hand = yajl_alloc(&callbacks, NULL, &ctx);
if ((stat = yajl_parse(hand, (unsigned char *)RSTRING_PTR(str), RSTRING_LEN(str))) != yajl_status_ok) {