[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]