X-Git-Url: http://andersk.mit.edu/gitweb/libyaml.git/blobdiff_plain/b3043c486c98b6f0be2ac532552b19f0e0f0099b..2a02dfd2625480af0f2b48664c46dab20ea799da:/src/api.c diff --git a/src/api.c b/src/api.c index dc7611d..83ca720 100644 --- a/src/api.c +++ b/src/api.c @@ -811,7 +811,7 @@ yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor) YAML_DECLARE(int) yaml_scalar_event_initialize(yaml_event_t *event, yaml_char_t *anchor, yaml_char_t *tag, - yaml_char_t *value, size_t length, + yaml_char_t *value, int length, int plain_implicit, int quoted_implicit, yaml_scalar_style_t style) { @@ -823,7 +823,6 @@ yaml_scalar_event_initialize(yaml_event_t *event, assert(event); /* Non-NULL event object is expected. */ assert(value); /* Non-NULL anchor is expected. */ - if (anchor) { if (!yaml_check_utf8(anchor, strlen((char *)anchor))) goto error; anchor_copy = yaml_strdup(anchor); @@ -836,6 +835,10 @@ yaml_scalar_event_initialize(yaml_event_t *event, if (!tag_copy) goto error; } + if (length < 0) { + length = strlen((char *)value); + } + if (!yaml_check_utf8(value, length)) goto error; value_copy = yaml_malloc(length+1); if (!value_copy) goto error;