psych 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1a904cdbd6c9e16a3b3857c895342397510bc5a
4
- data.tar.gz: b4c98d184e105fce013d938635273f8e96ec7ce1
3
+ metadata.gz: 19e0438e0f11c78efb5dedbb0f0e8f727d836658
4
+ data.tar.gz: f580bcc3ef9f64d36a7874c4142a3ee93468e83e
5
5
  SHA512:
6
- metadata.gz: 1a1e6b690f408452c7b0f997ec8dc2c0b904ce3741bed5c9c571c0991b656296a7033e291fe37024f4f068807cf2828fe464a9369955666a4bf73f2efe31c67d
7
- data.tar.gz: de45125a31f1e676f80c25cf34be04bb27c0da721baa92a548fbda4154a52d8169722b832f3a656eee8b2fd66435bd2f24634e2542552ce99113658fe4251764
6
+ metadata.gz: cb94e783648d0e138b975ee924630a9142904175add0314cdf0a8f963be80ccdb0cadd6fc540edeb009be04db05b091b7c915427d82af64687cb8660bac03105
7
+ data.tar.gz: 9bd7dbafd37f191394e492c0ad45652085be2577b64c467a997164d6d8424be48cec092768ce74dd2a35c48b320f97d54c7c42afffa81b3c19160c3cfdf097f3
@@ -1,3 +1,7 @@
1
+ Wed Feb 5 10:11:36 2014 Zachary Scott <e@zzak.io>
2
+
3
+ * ext/psych/yaml/config.h: bump libyaml to 0.1.5
4
+
1
5
  Wed Feb 5 04:16:41 2014 Aaron Patterson <aaron@tenderlovemaking.com>
2
6
 
3
7
  * ext/psych/yaml/emitter.c: merge libyaml 0.1.5
@@ -822,6 +822,7 @@ yaml_scalar_event_initialize(yaml_event_t *event,
822
822
  yaml_char_t *anchor_copy = NULL;
823
823
  yaml_char_t *tag_copy = NULL;
824
824
  yaml_char_t *value_copy = NULL;
825
+ size_t value_length;
825
826
 
826
827
  assert(event); /* Non-NULL event object is expected. */
827
828
  assert(value); /* Non-NULL anchor is expected. */
@@ -839,16 +840,19 @@ yaml_scalar_event_initialize(yaml_event_t *event,
839
840
  }
840
841
 
841
842
  if (length < 0) {
842
- length = strlen((char *)value);
843
+ value_length = strlen((char *)value);
844
+ }
845
+ else {
846
+ value_length = (size_t)length;
843
847
  }
844
848
 
845
- if (!yaml_check_utf8(value, length)) goto error;
846
- value_copy = yaml_malloc(length+1);
849
+ if (!yaml_check_utf8(value, value_length)) goto error;
850
+ value_copy = yaml_malloc(value_length+1);
847
851
  if (!value_copy) goto error;
848
- memcpy(value_copy, value, length);
849
- value_copy[length] = '\0';
852
+ memcpy(value_copy, value, value_length);
853
+ value_copy[value_length] = '\0';
850
854
 
851
- SCALAR_EVENT_INIT(*event, anchor_copy, tag_copy, value_copy, length,
855
+ SCALAR_EVENT_INIT(*event, anchor_copy, tag_copy, value_copy, value_length,
852
856
  plain_implicit, quoted_implicit, style, mark, mark);
853
857
 
854
858
  return 1;
@@ -1202,6 +1206,8 @@ yaml_document_add_scalar(yaml_document_t *document,
1202
1206
  yaml_char_t *tag_copy = NULL;
1203
1207
  yaml_char_t *value_copy = NULL;
1204
1208
  yaml_node_t node;
1209
+ size_t value_length;
1210
+ ptrdiff_t ret;
1205
1211
 
1206
1212
  assert(document); /* Non-NULL document object is expected. */
1207
1213
  assert(value); /* Non-NULL value is expected. */
@@ -1215,19 +1221,26 @@ yaml_document_add_scalar(yaml_document_t *document,
1215
1221
  if (!tag_copy) goto error;
1216
1222
 
1217
1223
  if (length < 0) {
1218
- length = strlen((char *)value);
1224
+ value_length = strlen((char *)value);
1225
+ }
1226
+ else {
1227
+ value_length = (size_t)length;
1219
1228
  }
1220
1229
 
1221
- if (!yaml_check_utf8(value, length)) goto error;
1222
- value_copy = yaml_malloc(length+1);
1230
+ if (!yaml_check_utf8(value, value_length)) goto error;
1231
+ value_copy = yaml_malloc(value_length+1);
1223
1232
  if (!value_copy) goto error;
1224
- memcpy(value_copy, value, length);
1225
- value_copy[length] = '\0';
1233
+ memcpy(value_copy, value, value_length);
1234
+ value_copy[value_length] = '\0';
1226
1235
 
1227
- SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark);
1236
+ SCALAR_NODE_INIT(node, tag_copy, value_copy, value_length, style, mark, mark);
1228
1237
  if (!PUSH(&context, document->nodes, node)) goto error;
1229
1238
 
1230
- return document->nodes.top - document->nodes.start;
1239
+ ret = document->nodes.top - document->nodes.start;
1240
+ #if PTRDIFF_MAX > INT_MAX
1241
+ if (ret > INT_MAX) goto error;
1242
+ #endif
1243
+ return (int)ret;
1231
1244
 
1232
1245
  error:
1233
1246
  yaml_free(tag_copy);
@@ -1255,6 +1268,7 @@ yaml_document_add_sequence(yaml_document_t *document,
1255
1268
  yaml_node_item_t *top;
1256
1269
  } items = { NULL, NULL, NULL };
1257
1270
  yaml_node_t node;
1271
+ ptrdiff_t ret;
1258
1272
 
1259
1273
  assert(document); /* Non-NULL document object is expected. */
1260
1274
 
@@ -1272,7 +1286,11 @@ yaml_document_add_sequence(yaml_document_t *document,
1272
1286
  style, mark, mark);
1273
1287
  if (!PUSH(&context, document->nodes, node)) goto error;
1274
1288
 
1275
- return document->nodes.top - document->nodes.start;
1289
+ ret = document->nodes.top - document->nodes.start;
1290
+ #if PTRDIFF_MAX > INT_MAX
1291
+ if (ret > INT_MAX) goto error;
1292
+ #endif
1293
+ return (int)ret;
1276
1294
 
1277
1295
  error:
1278
1296
  STACK_DEL(&context, items);
@@ -1300,6 +1318,7 @@ yaml_document_add_mapping(yaml_document_t *document,
1300
1318
  yaml_node_pair_t *top;
1301
1319
  } pairs = { NULL, NULL, NULL };
1302
1320
  yaml_node_t node;
1321
+ ptrdiff_t ret;
1303
1322
 
1304
1323
  assert(document); /* Non-NULL document object is expected. */
1305
1324
 
@@ -1317,7 +1336,11 @@ yaml_document_add_mapping(yaml_document_t *document,
1317
1336
  style, mark, mark);
1318
1337
  if (!PUSH(&context, document->nodes, node)) goto error;
1319
1338
 
1320
- return document->nodes.top - document->nodes.start;
1339
+ ret = document->nodes.top - document->nodes.start;
1340
+ #if PTRDIFF_MAX > INT_MAX
1341
+ if (ret > INT_MAX) goto error;
1342
+ #endif
1343
+ return (int)ret;
1321
1344
 
1322
1345
  error:
1323
1346
  STACK_DEL(&context, pairs);
@@ -1,11 +1,11 @@
1
1
 
2
2
  #define PACKAGE_NAME "yaml"
3
3
  #define PACKAGE_TARNAME "yaml"
4
- #define PACKAGE_VERSION "0.1.4"
5
- #define PACKAGE_STRING "yaml 0.1.4"
4
+ #define PACKAGE_VERSION "0.1.5"
5
+ #define PACKAGE_STRING "yaml 0.1.5"
6
6
  #define PACKAGE_BUGREPORT "http://pyyaml.org/newticket?component libyaml"
7
7
  #define PACKAGE_URL ""
8
8
  #define YAML_VERSION_MAJOR 0
9
9
  #define YAML_VERSION_MINOR 1
10
- #define YAML_VERSION_PATCH 4
11
- #define YAML_VERSION_STRING "0.1.4"
10
+ #define YAML_VERSION_PATCH 5
11
+ #define YAML_VERSION_STRING "0.1.5"
@@ -221,7 +221,7 @@ yaml_emitter_write_indent(yaml_emitter_t *emitter);
221
221
 
222
222
  static int
223
223
  yaml_emitter_write_indicator(yaml_emitter_t *emitter,
224
- char *indicator, int need_whitespace,
224
+ const char *indicator, int need_whitespace,
225
225
  int is_whitespace, int is_indention);
226
226
 
227
227
  static int
@@ -517,7 +517,7 @@ yaml_emitter_emit_stream_start(yaml_emitter_t *emitter,
517
517
  if (emitter->best_width < 0) {
518
518
  emitter->best_width = INT_MAX;
519
519
  }
520
-
520
+
521
521
  if (!emitter->line_break) {
522
522
  emitter->line_break = YAML_LN_BREAK;
523
523
  }
@@ -607,7 +607,7 @@ yaml_emitter_emit_document_start(yaml_emitter_t *emitter,
607
607
  if (!yaml_emitter_write_indent(emitter))
608
608
  return 0;
609
609
  }
610
-
610
+
611
611
  if (event->data.document_start.tag_directives.start
612
612
  != event->data.document_start.tag_directives.end) {
613
613
  implicit = 0;
@@ -721,7 +721,7 @@ yaml_emitter_emit_document_end(yaml_emitter_t *emitter,
721
721
  }
722
722
 
723
723
  /*
724
- *
724
+ *
725
725
  * Expect a flow item node.
726
726
  */
727
727
 
@@ -1402,7 +1402,7 @@ yaml_emitter_analyze_anchor(yaml_emitter_t *emitter,
1402
1402
  {
1403
1403
  size_t anchor_length;
1404
1404
  yaml_string_t string;
1405
-
1405
+
1406
1406
  anchor_length = strlen((char *)anchor);
1407
1407
  STRING_ASSIGN(string, anchor, anchor_length);
1408
1408
 
@@ -1784,7 +1784,7 @@ yaml_emitter_write_indent(yaml_emitter_t *emitter)
1784
1784
 
1785
1785
  static int
1786
1786
  yaml_emitter_write_indicator(yaml_emitter_t *emitter,
1787
- char *indicator, int need_whitespace,
1787
+ const char *indicator, int need_whitespace,
1788
1788
  int is_whitespace, int is_indention)
1789
1789
  {
1790
1790
  size_t indicator_length;
@@ -2178,7 +2178,7 @@ yaml_emitter_write_block_scalar_hints(yaml_emitter_t *emitter,
2178
2178
  yaml_string_t string)
2179
2179
  {
2180
2180
  char indent_hint[2];
2181
- char *chomp_hint = NULL;
2181
+ const char *chomp_hint = NULL;
2182
2182
 
2183
2183
  if (IS_SPACE(string) || IS_BREAK(string))
2184
2184
  {
@@ -283,6 +283,7 @@ static int
283
283
  yaml_parser_load_scalar(yaml_parser_t *parser, yaml_event_t *first_event)
284
284
  {
285
285
  yaml_node_t node;
286
+ ptrdiff_t node_index;
286
287
  int index;
287
288
  yaml_char_t *tag = first_event->data.scalar.tag;
288
289
 
@@ -300,7 +301,11 @@ yaml_parser_load_scalar(yaml_parser_t *parser, yaml_event_t *first_event)
300
301
 
301
302
  if (!PUSH(parser, parser->document->nodes, node)) goto error;
302
303
 
303
- index = parser->document->nodes.top - parser->document->nodes.start;
304
+ node_index = parser->document->nodes.top - parser->document->nodes.start;
305
+ #if PTRDIFF_MAX > INT_MAX
306
+ if (node_index > INT_MAX) goto error;
307
+ #endif
308
+ index = (int)node_index;
304
309
 
305
310
  if (!yaml_parser_register_anchor(parser, index,
306
311
  first_event->data.scalar.anchor)) return 0;
@@ -329,6 +334,7 @@ yaml_parser_load_sequence(yaml_parser_t *parser, yaml_event_t *first_event)
329
334
  yaml_node_item_t *top;
330
335
  } items = { NULL, NULL, NULL };
331
336
  int index, item_index;
337
+ ptrdiff_t node_index;
332
338
  yaml_char_t *tag = first_event->data.sequence_start.tag;
333
339
 
334
340
  if (!STACK_LIMIT(parser, parser->document->nodes, INT_MAX-1)) goto error;
@@ -347,7 +353,11 @@ yaml_parser_load_sequence(yaml_parser_t *parser, yaml_event_t *first_event)
347
353
 
348
354
  if (!PUSH(parser, parser->document->nodes, node)) goto error;
349
355
 
350
- index = parser->document->nodes.top - parser->document->nodes.start;
356
+ node_index = parser->document->nodes.top - parser->document->nodes.start;
357
+ #if PTRDIFF_MAX > INT_MAX
358
+ if (node_index > INT_MAX) goto error;
359
+ #endif
360
+ index = (int)node_index;
351
361
 
352
362
  if (!yaml_parser_register_anchor(parser, index,
353
363
  first_event->data.sequence_start.anchor)) return 0;
@@ -391,6 +401,7 @@ yaml_parser_load_mapping(yaml_parser_t *parser, yaml_event_t *first_event)
391
401
  yaml_node_pair_t *top;
392
402
  } pairs = { NULL, NULL, NULL };
393
403
  int index;
404
+ ptrdiff_t node_index;
394
405
  yaml_node_pair_t pair;
395
406
  yaml_char_t *tag = first_event->data.mapping_start.tag;
396
407
 
@@ -410,7 +421,11 @@ yaml_parser_load_mapping(yaml_parser_t *parser, yaml_event_t *first_event)
410
421
 
411
422
  if (!PUSH(parser, parser->document->nodes, node)) goto error;
412
423
 
413
- index = parser->document->nodes.top - parser->document->nodes.start;
424
+ node_index = parser->document->nodes.top - parser->document->nodes.start;
425
+ #if PTRDIFF_MAX > INT_MAX
426
+ if (node_index > INT_MAX) goto error;
427
+ #endif
428
+ index = (int)node_index;
414
429
 
415
430
  if (!yaml_parser_register_anchor(parser, index,
416
431
  first_event->data.mapping_start.anchor)) return 0;
@@ -1295,7 +1295,7 @@ yaml_parser_process_directives(yaml_parser_t *parser,
1295
1295
  token = PEEK_TOKEN(parser);
1296
1296
  if (!token) goto error;
1297
1297
  }
1298
-
1298
+
1299
1299
  for (default_tag_directive = default_tag_directives;
1300
1300
  default_tag_directive->handle; default_tag_directive++) {
1301
1301
  if (!yaml_parser_append_tag_directive(parser, *default_tag_directive, 1,
@@ -52,7 +52,7 @@ yaml_parser_determine_encoding(yaml_parser_t *parser)
52
52
  {
53
53
  /* Ensure that we had enough bytes in the raw buffer. */
54
54
 
55
- while (!parser->eof
55
+ while (!parser->eof
56
56
  && parser->raw_buffer.last - parser->raw_buffer.pointer < 3) {
57
57
  if (!yaml_parser_update_raw_buffer(parser)) {
58
58
  return 0;
@@ -295,7 +295,7 @@ yaml_parser_update_buffer(yaml_parser_t *parser, size_t length)
295
295
  parser->offset, value);
296
296
 
297
297
  break;
298
-
298
+
299
299
  case YAML_UTF16LE_ENCODING:
300
300
  case YAML_UTF16BE_ENCODING:
301
301
 
@@ -318,7 +318,7 @@ yaml_parser_update_buffer(yaml_parser_t *parser, size_t length)
318
318
  *
319
319
  * The following formulas are used for decoding
320
320
  * and encoding characters using surrogate pairs:
321
- *
321
+ *
322
322
  * U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF)
323
323
  * U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF)
324
324
  * W1 = 110110yyyyyyyyyy
@@ -762,7 +762,7 @@ yaml_parser_scan(yaml_parser_t *parser, yaml_token_t *token)
762
762
  }
763
763
 
764
764
  /* Fetch the next token from the queue. */
765
-
765
+
766
766
  *token = DEQUEUE(parser, parser->tokens);
767
767
  parser->token_available = 0;
768
768
  parser->tokens_parsed ++;
@@ -1121,7 +1121,7 @@ yaml_parser_save_simple_key(yaml_parser_t *parser)
1121
1121
  yaml_simple_key_t simple_key;
1122
1122
  simple_key.possible = 1;
1123
1123
  simple_key.required = required;
1124
- simple_key.token_number =
1124
+ simple_key.token_number =
1125
1125
  parser->tokens_parsed + (parser->tokens.tail - parser->tokens.head);
1126
1126
  simple_key.mark = parser->mark;
1127
1127
 
@@ -1207,7 +1207,7 @@ yaml_parser_decrease_flow_level(yaml_parser_t *parser)
1207
1207
  * Push the current indentation level to the stack and set the new level
1208
1208
  * the current column is greater than the indentation level. In this case,
1209
1209
  * append or insert the specified token into the token queue.
1210
- *
1210
+ *
1211
1211
  */
1212
1212
 
1213
1213
  static int
@@ -1231,12 +1231,14 @@ yaml_parser_roll_indent(yaml_parser_t *parser, ptrdiff_t column,
1231
1231
  if (!PUSH(parser, parser->indents, parser->indent))
1232
1232
  return 0;
1233
1233
 
1234
+ #if PTRDIFF_MAX > INT_MAX
1234
1235
  if (column > INT_MAX) {
1235
1236
  parser->error = YAML_MEMORY_ERROR;
1236
1237
  return 0;
1237
1238
  }
1239
+ #endif
1238
1240
 
1239
- parser->indent = column;
1241
+ parser->indent = (int)column;
1240
1242
 
1241
1243
  /* Create a token and insert it into the queue. */
1242
1244
 
@@ -1945,7 +1947,7 @@ yaml_parser_scan_to_next_token(yaml_parser_t *parser)
1945
1947
  *
1946
1948
  * - in the flow context;
1947
1949
  * - in the block context, but not at the beginning of the line or
1948
- * after '-', '?', or ':' (complex value).
1950
+ * after '-', '?', or ':' (complex value).
1949
1951
  */
1950
1952
 
1951
1953
  if (!CACHE(parser, 1)) return 0;
@@ -3011,7 +3013,7 @@ yaml_parser_scan_block_scalar_breaks(yaml_parser_t *parser,
3011
3013
  *indent = 1;
3012
3014
  }
3013
3015
 
3014
- return 1;
3016
+ return 1;
3015
3017
  }
3016
3018
 
3017
3019
  /*
@@ -74,7 +74,7 @@ yaml_emitter_flush(yaml_emitter_t *emitter)
74
74
  unsigned int value;
75
75
  size_t k;
76
76
 
77
- /*
77
+ /*
78
78
  * See the "reader.c" code for more details on UTF-8 encoding. Note
79
79
  * that we assume that the buffer contains a valid UTF-8 sequence.
80
80
  */
@@ -1,3 +1,6 @@
1
+ #ifdef RUBY_EXTCONF_H
2
+ #include RUBY_EXTCONF_H
3
+ #endif
1
4
 
2
5
  #if HAVE_CONFIG_H
3
6
  #include <config.h>
@@ -239,9 +242,9 @@ yaml_string_join(
239
242
  (string).pointer[offset] <= (yaml_char_t) 'f') ? \
240
243
  ((string).pointer[offset] - (yaml_char_t) 'a' + 10) : \
241
244
  ((string).pointer[offset] - (yaml_char_t) '0'))
242
-
245
+
243
246
  #define AS_HEX(string) AS_HEX_AT((string),0)
244
-
247
+
245
248
  /*
246
249
  * Check if the character is ASCII.
247
250
  */
@@ -217,7 +217,7 @@ require 'psych/class_loader'
217
217
 
218
218
  module Psych
219
219
  # The version is Psych you're using
220
- VERSION = '2.0.3'
220
+ VERSION = '2.0.4'
221
221
 
222
222
  # The version of libyaml Psych is using
223
223
  LIBYAML_VERSION = Psych.libyaml_version.join '.'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: psych
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Patterson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-04 00:00:00.000000000 Z
11
+ date: 2014-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc