ruby-changes:47677
From: usa <ko1@a...>
Date: Sat, 9 Sep 2017 21:24:29 +0900 (JST)
Subject: [ruby-changes:47677] usa:r59793 (ruby_2_2): * ext/psych/yaml: update libyaml to 0.1.7.
usa 2017-09-09 21:24:22 +0900 (Sat, 09 Sep 2017) New Revision: 59793 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=59793 Log: * ext/psych/yaml: update libyaml to 0.1.7. * ext/psych/psych.gemspec: bump version to 2.0.8.1. Modified files: branches/ruby_2_2/ChangeLog branches/ruby_2_2/ext/psych/psych.gemspec branches/ruby_2_2/ext/psych/yaml/api.c branches/ruby_2_2/ext/psych/yaml/config.h branches/ruby_2_2/ext/psych/yaml/emitter.c branches/ruby_2_2/ext/psych/yaml/loader.c branches/ruby_2_2/ext/psych/yaml/parser.c branches/ruby_2_2/ext/psych/yaml/scanner.c branches/ruby_2_2/ext/psych/yaml/yaml_private.h branches/ruby_2_2/version.h Index: ruby_2_2/version.h =================================================================== --- ruby_2_2/version.h (revision 59792) +++ ruby_2_2/version.h (revision 59793) @@ -1,10 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/version.h#L1 #define RUBY_VERSION "2.2.8" -#define RUBY_RELEASE_DATE "2017-03-29" -#define RUBY_PATCHLEVEL 471 +#define RUBY_RELEASE_DATE "2017-09-09" +#define RUBY_PATCHLEVEL 472 #define RUBY_RELEASE_YEAR 2017 -#define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 29 +#define RUBY_RELEASE_MONTH 9 +#define RUBY_RELEASE_DAY 9 #include "ruby/version.h" Index: ruby_2_2/ext/psych/psych.gemspec =================================================================== --- ruby_2_2/ext/psych/psych.gemspec (revision 59792) +++ ruby_2_2/ext/psych/psych.gemspec (revision 59793) @@ -2,7 +2,7 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/psych.gemspec#L2 Gem::Specification.new do |s| s.name = "psych" - s.version = "2.0.8" + s.version = "2.0.8.1" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.require_paths = ["lib"] Index: ruby_2_2/ext/psych/yaml/loader.c =================================================================== --- ruby_2_2/ext/psych/yaml/loader.c (revision 59792) +++ ruby_2_2/ext/psych/yaml/loader.c (revision 59793) @@ -239,8 +239,8 @@ yaml_parser_register_anchor(yaml_parser_ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L239 if (strcmp((char *)alias_data->anchor, (char *)anchor) == 0) { yaml_free(anchor); return yaml_parser_set_composer_error_context(parser, - "found duplicate anchor; first occurence", - alias_data->mark, "second occurence", data.mark); + "found duplicate anchor; first occurrence", + alias_data->mark, "second occurrence", data.mark); } } @@ -283,7 +283,6 @@ static int https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L283 yaml_parser_load_scalar(yaml_parser_t *parser, yaml_event_t *first_event) { yaml_node_t node; - ptrdiff_t node_index; int index; yaml_char_t *tag = first_event->data.scalar.tag; @@ -301,11 +300,7 @@ yaml_parser_load_scalar(yaml_parser_t *p https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L300 if (!PUSH(parser, parser->document->nodes, node)) goto error; - node_index = parser->document->nodes.top - parser->document->nodes.start; -#if PTRDIFF_MAX > INT_MAX - if (node_index > INT_MAX) goto error; -#endif - index = (int)node_index; + index = parser->document->nodes.top - parser->document->nodes.start; if (!yaml_parser_register_anchor(parser, index, first_event->data.scalar.anchor)) return 0; @@ -334,7 +329,6 @@ yaml_parser_load_sequence(yaml_parser_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L329 yaml_node_item_t *top; } items = { NULL, NULL, NULL }; int index, item_index; - ptrdiff_t node_index; yaml_char_t *tag = first_event->data.sequence_start.tag; if (!STACK_LIMIT(parser, parser->document->nodes, INT_MAX-1)) goto error; @@ -353,11 +347,7 @@ yaml_parser_load_sequence(yaml_parser_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L347 if (!PUSH(parser, parser->document->nodes, node)) goto error; - node_index = parser->document->nodes.top - parser->document->nodes.start; -#if PTRDIFF_MAX > INT_MAX - if (node_index > INT_MAX) goto error; -#endif - index = (int)node_index; + index = parser->document->nodes.top - parser->document->nodes.start; if (!yaml_parser_register_anchor(parser, index, first_event->data.sequence_start.anchor)) return 0; @@ -401,7 +391,6 @@ yaml_parser_load_mapping(yaml_parser_t * https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L391 yaml_node_pair_t *top; } pairs = { NULL, NULL, NULL }; int index; - ptrdiff_t node_index; yaml_node_pair_t pair; yaml_char_t *tag = first_event->data.mapping_start.tag; @@ -421,11 +410,7 @@ yaml_parser_load_mapping(yaml_parser_t * https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/loader.c#L410 if (!PUSH(parser, parser->document->nodes, node)) goto error; - node_index = parser->document->nodes.top - parser->document->nodes.start; -#if PTRDIFF_MAX > INT_MAX - if (node_index > INT_MAX) goto error; -#endif - index = (int)node_index; + index = parser->document->nodes.top - parser->document->nodes.start; if (!yaml_parser_register_anchor(parser, index, first_event->data.mapping_start.anchor)) return 0; Index: ruby_2_2/ext/psych/yaml/api.c =================================================================== --- ruby_2_2/ext/psych/yaml/api.c (revision 59792) +++ ruby_2_2/ext/psych/yaml/api.c (revision 59793) @@ -395,7 +395,7 @@ yaml_emitter_delete(yaml_emitter_t *emit https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L395 } QUEUE_DEL(emitter, emitter->events); STACK_DEL(emitter, emitter->indents); - while (!STACK_EMPTY(emitter, emitter->tag_directives)) { + while (!STACK_EMPTY(empty, emitter->tag_directives)) { yaml_tag_directive_t tag_directive = POP(emitter, emitter->tag_directives); yaml_free(tag_directive.handle); yaml_free(tag_directive.prefix); @@ -415,7 +415,7 @@ yaml_string_write_handler(void *data, un https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L415 { yaml_emitter_t *emitter = data; - if (emitter->output.string.size + *emitter->output.string.size_written + if (emitter->output.string.size - *emitter->output.string.size_written < size) { memcpy(emitter->output.string.buffer + *emitter->output.string.size_written, @@ -822,7 +822,6 @@ yaml_scalar_event_initialize(yaml_event_ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L822 yaml_char_t *anchor_copy = NULL; yaml_char_t *tag_copy = NULL; yaml_char_t *value_copy = NULL; - size_t value_length; assert(event); /* Non-NULL event object is expected. */ assert(value); /* Non-NULL anchor is expected. */ @@ -840,19 +839,16 @@ yaml_scalar_event_initialize(yaml_event_ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L839 } if (length < 0) { - value_length = strlen((char *)value); - } - else { - value_length = (size_t)length; + length = strlen((char *)value); } - if (!yaml_check_utf8(value, value_length)) goto error; - value_copy = yaml_malloc(value_length+1); + if (!yaml_check_utf8(value, length)) goto error; + value_copy = yaml_malloc(length+1); if (!value_copy) goto error; - memcpy(value_copy, value, value_length); - value_copy[value_length] = '\0'; + memcpy(value_copy, value, length); + value_copy[length] = '\0'; - SCALAR_EVENT_INIT(*event, anchor_copy, tag_copy, value_copy, value_length, + SCALAR_EVENT_INIT(*event, anchor_copy, tag_copy, value_copy, length, plain_implicit, quoted_implicit, style, mark, mark); return 1; @@ -1206,8 +1202,6 @@ yaml_document_add_scalar(yaml_document_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L1202 yaml_char_t *tag_copy = NULL; yaml_char_t *value_copy = NULL; yaml_node_t node; - size_t value_length; - ptrdiff_t ret; assert(document); /* Non-NULL document object is expected. */ assert(value); /* Non-NULL value is expected. */ @@ -1221,26 +1215,19 @@ yaml_document_add_scalar(yaml_document_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L1215 if (!tag_copy) goto error; if (length < 0) { - value_length = strlen((char *)value); - } - else { - value_length = (size_t)length; + length = strlen((char *)value); } - if (!yaml_check_utf8(value, value_length)) goto error; - value_copy = yaml_malloc(value_length+1); + if (!yaml_check_utf8(value, length)) goto error; + value_copy = yaml_malloc(length+1); if (!value_copy) goto error; - memcpy(value_copy, value, value_length); - value_copy[value_length] = '\0'; + memcpy(value_copy, value, length); + value_copy[length] = '\0'; - SCALAR_NODE_INIT(node, tag_copy, value_copy, value_length, style, mark, mark); + SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark); if (!PUSH(&context, document->nodes, node)) goto error; - ret = document->nodes.top - document->nodes.start; -#if PTRDIFF_MAX > INT_MAX - if (ret > INT_MAX) goto error; -#endif - return (int)ret; + return document->nodes.top - document->nodes.start; error: yaml_free(tag_copy); @@ -1268,7 +1255,6 @@ yaml_document_add_sequence(yaml_document https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L1255 yaml_node_item_t *top; } items = { NULL, NULL, NULL }; yaml_node_t node; - ptrdiff_t ret; assert(document); /* Non-NULL document object is expected. */ @@ -1286,11 +1272,7 @@ yaml_document_add_sequence(yaml_document https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L1272 style, mark, mark); if (!PUSH(&context, document->nodes, node)) goto error; - ret = document->nodes.top - document->nodes.start; -#if PTRDIFF_MAX > INT_MAX - if (ret > INT_MAX) goto error; -#endif - return (int)ret; + return document->nodes.top - document->nodes.start; error: STACK_DEL(&context, items); @@ -1318,7 +1300,6 @@ yaml_document_add_mapping(yaml_document_ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L1300 yaml_node_pair_t *top; } pairs = { NULL, NULL, NULL }; yaml_node_t node; - ptrdiff_t ret; assert(document); /* Non-NULL document object is expected. */ @@ -1336,11 +1317,7 @@ yaml_document_add_mapping(yaml_document_ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/api.c#L1317 style, mark, mark); if (!PUSH(&context, document->nodes, node)) goto error; - ret = document->nodes.top - document->nodes.start; -#if PTRDIFF_MAX > INT_MAX - if (ret > INT_MAX) goto error; -#endif - return (int)ret; + return document->nodes.top - document->nodes.start; error: STACK_DEL(&context, pairs); Index: ruby_2_2/ext/psych/yaml/emitter.c =================================================================== --- ruby_2_2/ext/psych/yaml/emitter.c (revision 59792) +++ ruby_2_2/ext/psych/yaml/emitter.c (revision 59793) @@ -53,7 +53,7 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L53 #define WRITE_BREAK(emitter,string) \ (FLUSH(emitter) \ && (CHECK(string,'\n') ? \ - ((void)PUT_BREAK(emitter), \ + (PUT_BREAK(emitter), \ string.pointer ++, \ 1) : \ (COPY(emitter->buffer,string), \ @@ -221,7 +221,7 @@ yaml_emitter_write_indent(yaml_emitter_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L221 static int yaml_emitter_write_indicator(yaml_emitter_t *emitter, - const char *indicator, int need_whitespace, + char *indicator, int need_whitespace, int is_whitespace, int is_indention); static int @@ -1493,7 +1493,7 @@ yaml_emitter_analyze_scalar(yaml_emitter https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L1493 int break_space = 0; int space_break = 0; - int preceeded_by_whitespace = 0; + int preceded_by_whitespace = 0; int followed_by_whitespace = 0; int previous_space = 0; int previous_break = 0; @@ -1524,7 +1524,7 @@ yaml_emitter_analyze_scalar(yaml_emitter https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L1524 flow_indicators = 1; } - preceeded_by_whitespace = 1; + preceded_by_whitespace = 1; followed_by_whitespace = IS_BLANKZ_AT(string, WIDTH(string)); while (string.pointer != string.end) @@ -1570,7 +1570,7 @@ yaml_emitter_analyze_scalar(yaml_emitter https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L1570 } } - if (CHECK(string, '#') && preceeded_by_whitespace) { + if (CHECK(string, '#') && preceded_by_whitespace) { flow_indicators = 1; block_indicators = 1; } @@ -1619,7 +1619,7 @@ yaml_emitter_analyze_scalar(yaml_emitter https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L1619 previous_break = 0; } - preceeded_by_whitespace = IS_BLANKZ(string); + preceded_by_whitespace = IS_BLANKZ(string); MOVE(string); if (string.pointer != string.end) { followed_by_whitespace = IS_BLANKZ_AT(string, WIDTH(string)); @@ -1784,7 +1784,7 @@ yaml_emitter_write_indent(yaml_emitter_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L1784 static int yaml_emitter_write_indicator(yaml_emitter_t *emitter, - const char *indicator, int need_whitespace, + char *indicator, int need_whitespace, int is_whitespace, int is_indention) { size_t indicator_length; @@ -2178,7 +2178,7 @@ yaml_emitter_write_block_scalar_hints(ya https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/emitter.c#L2178 yaml_string_t string) { char indent_hint[2]; - const char *chomp_hint = NULL; + char *chomp_hint = NULL; if (IS_SPACE(string) || IS_BREAK(string)) { Index: ruby_2_2/ext/psych/yaml/scanner.c =================================================================== --- ruby_2_2/ext/psych/yaml/scanner.c (revision 59792) +++ ruby_2_2/ext/psych/yaml/scanner.c (revision 59793) @@ -1106,13 +1106,6 @@ yaml_parser_save_simple_key(yaml_parser_ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L1106 && parser->indent == (ptrdiff_t)parser->mark.column); /* - * A simple key is required only when it is the first token in the current - * line. Therefore it is always allowed. But we add a check anyway. - */ - - assert(parser->simple_key_allowed || !required); /* Impossible. */ - - /* * If the current position may start a simple key, save it. */ @@ -1193,9 +1186,11 @@ yaml_parser_increase_flow_level(yaml_par https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L1186 static int yaml_parser_decrease_flow_level(yaml_parser_t *parser) { + yaml_simple_key_t dummy_key; /* Used to eliminate a compiler warning. */ + if (parser->flow_level) { parser->flow_level --; - (void)POP(parser, parser->simple_keys); + dummy_key = POP(parser, parser->simple_keys); } return 1; @@ -1229,14 +1224,12 @@ yaml_parser_roll_indent(yaml_parser_t *p https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L1224 if (!PUSH(parser, parser->indents, parser->indent)) return 0; -#if PTRDIFF_MAX > INT_MAX if (column > INT_MAX) { parser->error = YAML_MEMORY_ERROR; return 0; } -#endif - parser->indent = (int)column; + parser->indent = column; /* Create a token and insert it into the queue. */ @@ -1258,7 +1251,7 @@ yaml_parser_roll_indent(yaml_parser_t *p https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L1251 /* * Pop indentation levels from the indents stack until the current level - * becomes less or equal to the column. For each intendation level, append + * becomes less or equal to the column. For each indentation level, append * the BLOCK-END token. */ @@ -1273,7 +1266,7 @@ yaml_parser_unroll_indent(yaml_parser_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L1266 if (parser->flow_level) return 1; - /* Loop through the intendation levels in the stack. */ + /* Loop through the indentation levels in the stack. */ while (parser->indent > column) { @@ -2060,7 +2053,7 @@ yaml_parser_scan_directive(yaml_parser_t https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2053 else { yaml_parser_set_scanner_error(parser, "while scanning a directive", - start_mark, "found uknown directive name"); + start_mark, "found unknown directive name"); goto error; } @@ -2782,15 +2775,15 @@ yaml_parser_scan_block_scalar(yaml_parse https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2775 if (IS_DIGIT(parser->buffer)) { - /* Check that the intendation is greater than 0. */ + /* Check that the indentation is greater than 0. */ if (CHECK(parser->buffer, '0')) { yaml_parser_set_scanner_error(parser, "while scanning a block scalar", - start_mark, "found an intendation indicator equal to 0"); + start_mark, "found an indentation indicator equal to 0"); goto error; } - /* Get the intendation level and eat the indicator. */ + /* Get the indentation level and eat the indicator. */ increment = AS_DIGIT(parser->buffer); @@ -2804,7 +2797,7 @@ yaml_parser_scan_block_scalar(yaml_parse https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2797 { if (CHECK(parser->buffer, '0')) { yaml_parser_set_scanner_error(parser, "while scanning a block scalar", - start_mark, "found an intendation indicator equal to 0"); + start_mark, "found an indentation indicator equal to 0"); goto error; } @@ -2854,7 +2847,7 @@ yaml_parser_scan_block_scalar(yaml_parse https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2847 end_mark = parser->mark; - /* Set the intendation level if it was specified. */ + /* Set the indentation level if it was specified. */ if (increment) { indent = parser->indent >= 0 ? parser->indent+increment : increment; @@ -2920,7 +2913,7 @@ yaml_parser_scan_block_scalar(yaml_parse https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2913 if (!READ_LINE(parser, leading_break)) goto error; - /* Eat the following intendation spaces and line breaks. */ + /* Eat the following indentation spaces and line breaks. */ if (!yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark)) goto error; @@ -2955,8 +2948,8 @@ error: https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2948 } /* - * Scan intendation spaces and line breaks for a block scalar. Determine the - * intendation level if needed. + * Scan indentation spaces and line breaks for a block scalar. Determine the + * indentation level if needed. */ static int @@ -2968,11 +2961,11 @@ yaml_parser_scan_block_scalar_breaks(yam https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ext/psych/yaml/scanner.c#L2961 *end_mark = parser->mark; - /* Eat the intendation spaces and line breaks. */ + /* Eat the indentatio (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/