diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/psych/parser.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/psych/parser.c b/ext/psych/parser.c index 6fd6cb4..1503520 100644 --- a/ext/psych/parser.c +++ b/ext/psych/parser.c @@ -79,11 +79,15 @@ static VALUE parse_string(VALUE self, VALUE string) (long)event.data.scalar.length ); + VALUE anchor = event.data.scalar.anchor ? + rb_str_new2((const char *)event.data.scalar.anchor) : + Qnil; + VALUE tag = event.data.scalar.tag ? rb_str_new2((const char *)event.data.scalar.tag) : Qnil; - rb_funcall(handler, rb_intern("scalar"), 2, tag, val); + rb_funcall(handler, rb_intern("scalar"), 3, val, anchor, tag); } break; case YAML_STREAM_END_EVENT: |