]> andersk Git - libyaml.git/commitdiff
Fixed non-ANSI initializations (fixes #115).
authorKirill Simonov <xi@resolvent.net>
Mon, 23 Feb 2009 19:59:19 +0000 (19:59 +0000)
committerKirill Simonov <xi@resolvent.net>
Mon, 23 Feb 2009 19:59:19 +0000 (19:59 +0000)
src/api.c
src/emitter.c
src/loader.c
src/parser.c
src/scanner.c
src/yaml_private.h

index 02e7b148e6894a4c2fef253416a1f1c5984d585f..0c4732e1520d227dfb537429c6b3e815b42865e3 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -1365,7 +1365,8 @@ yaml_document_append_mapping_pair(yaml_document_t *document,
     struct {
         yaml_error_type_t error;
     } context;
-    yaml_node_pair_t pair = { key, value };
+
+    yaml_node_pair_t pair;
 
     assert(document);       /* Non-NULL document is required. */
     assert(mapping > 0
@@ -1378,6 +1379,9 @@ yaml_document_append_mapping_pair(yaml_document_t *document,
     assert(value > 0 && document->nodes.start + value <= document->nodes.top);
                             /* Valid value id is required. */
 
+    pair.key = key;
+    pair.value = value;
+
     if (!PUSH(&context,
                 document->nodes.start[mapping-1].data.mapping.pairs, pair))
         return 0;
index e4e3d2612b5e055965fc75eb95c953154ba7b290..9a5b3faa0f97467d1cb8c0fea5b5349587cad244 100644 (file)
@@ -1349,10 +1349,15 @@ static int
 yaml_emitter_analyze_tag_directive(yaml_emitter_t *emitter,
         yaml_tag_directive_t tag_directive)
 {
-    yaml_string_t handle = STRING(tag_directive.handle,
-            strlen((char *)tag_directive.handle));
-    yaml_string_t prefix = STRING(tag_directive.prefix,
-            strlen((char *)tag_directive.prefix));
+    yaml_string_t handle;
+    yaml_string_t prefix;
+    size_t handle_length;
+    size_t prefix_length;
+
+    handle_length = strlen((char *)tag_directive.handle);
+    prefix_length = strlen((char *)tag_directive.prefix);
+    STRING_ASSIGN(handle, tag_directive.handle, handle_length);
+    STRING_ASSIGN(prefix, tag_directive.prefix, prefix_length);
 
     if (handle.start == handle.end) {
         return yaml_emitter_set_emitter_error(emitter,
@@ -1395,7 +1400,11 @@ static int
 yaml_emitter_analyze_anchor(yaml_emitter_t *emitter,
         yaml_char_t *anchor, int alias)
 {
-    yaml_string_t string = STRING(anchor, strlen((char *)anchor));
+    size_t anchor_length;
+    yaml_string_t string;
+    
+    anchor_length = strlen((char *)anchor);
+    STRING_ASSIGN(string, anchor, anchor_length);
 
     if (string.start == string.end) {
         return yaml_emitter_set_emitter_error(emitter, alias ?
@@ -1427,9 +1436,13 @@ static int
 yaml_emitter_analyze_tag(yaml_emitter_t *emitter,
         yaml_char_t *tag)
 {
-    yaml_string_t string = STRING(tag, strlen((char *)tag));
+    size_t tag_length;
+    yaml_string_t string;
     yaml_tag_directive_t *tag_directive;
 
+    tag_length = strlen((char *)tag);
+    STRING_ASSIGN(string, tag, tag_length);
+
     if (string.start == string.end) {
         return yaml_emitter_set_emitter_error(emitter,
                 "tag value must not be empty");
@@ -1466,7 +1479,7 @@ static int
 yaml_emitter_analyze_scalar(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
 
     int block_indicators = 0;
     int flow_indicators = 0;
@@ -1485,6 +1498,8 @@ yaml_emitter_analyze_scalar(yaml_emitter_t *emitter,
     int previous_space = 0;
     int previous_break = 0;
 
+    STRING_ASSIGN(string, value, length);
+
     emitter->scalar_data.value = value;
     emitter->scalar_data.length = length;
 
@@ -1772,7 +1787,11 @@ yaml_emitter_write_indicator(yaml_emitter_t *emitter,
         char *indicator, int need_whitespace,
         int is_whitespace, int is_indention)
 {
-    yaml_string_t string = STRING((yaml_char_t *)indicator, strlen(indicator));
+    size_t indicator_length;
+    yaml_string_t string;
+
+    indicator_length = strlen(indicator);
+    STRING_ASSIGN(string, (yaml_char_t *)indicator, indicator_length);
 
     if (need_whitespace && !emitter->whitespace) {
         if (!PUT(emitter, ' ')) return 0;
@@ -1793,7 +1812,8 @@ static int
 yaml_emitter_write_anchor(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
+    STRING_ASSIGN(string, value, length);
 
     while (string.pointer != string.end) {
         if (!WRITE(emitter, string)) return 0;
@@ -1809,7 +1829,8 @@ static int
 yaml_emitter_write_tag_handle(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
+    STRING_ASSIGN(string, value, length);
 
     if (!emitter->whitespace) {
         if (!PUT(emitter, ' ')) return 0;
@@ -1830,7 +1851,8 @@ yaml_emitter_write_tag_content(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length,
         int need_whitespace)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
+    STRING_ASSIGN(string, value, length);
 
     if (need_whitespace && !emitter->whitespace) {
         if (!PUT(emitter, ' ')) return 0;
@@ -1876,10 +1898,12 @@ static int
 yaml_emitter_write_plain_scalar(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length, int allow_breaks)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
     int spaces = 0;
     int breaks = 0;
 
+    STRING_ASSIGN(string, value, length);
+
     if (!emitter->whitespace) {
         if (!PUT(emitter, ' ')) return 0;
     }
@@ -1934,10 +1958,12 @@ static int
 yaml_emitter_write_single_quoted_scalar(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length, int allow_breaks)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
     int spaces = 0;
     int breaks = 0;
 
+    STRING_ASSIGN(string, value, length);
+
     if (!yaml_emitter_write_indicator(emitter, "'", 1, 0, 0))
         return 0;
 
@@ -1995,9 +2021,11 @@ static int
 yaml_emitter_write_double_quoted_scalar(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length, int allow_breaks)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
     int spaces = 0;
 
+    STRING_ASSIGN(string, value, length);
+
     if (!yaml_emitter_write_indicator(emitter, "\"", 1, 0, 0))
         return 0;
 
@@ -2207,9 +2235,11 @@ static int
 yaml_emitter_write_literal_scalar(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
     int breaks = 1;
 
+    STRING_ASSIGN(string, value, length);
+
     if (!yaml_emitter_write_indicator(emitter, "|", 1, 0, 0))
         return 0;
     if (!yaml_emitter_write_block_scalar_hints(emitter, string))
@@ -2244,10 +2274,12 @@ static int
 yaml_emitter_write_folded_scalar(yaml_emitter_t *emitter,
         yaml_char_t *value, size_t length)
 {
-    yaml_string_t string = STRING(value, length);
+    yaml_string_t string;
     int breaks = 1;
     int leading_spaces = 1;
 
+    STRING_ASSIGN(string, value, length);
+
     if (!yaml_emitter_write_indicator(emitter, ">", 1, 0, 0))
         return 0;
     if (!yaml_emitter_write_block_scalar_hints(emitter, string))
index 3c96116c589436725e4975fe0d4cfa71c5952c7b..9d3d912663c3282e5c731ebf9e5587a1111ec79b 100644 (file)
@@ -225,11 +225,13 @@ static int
 yaml_parser_register_anchor(yaml_parser_t *parser,
         int index, yaml_char_t *anchor)
 {
-    yaml_alias_data_t data = { anchor, index, { 0, 0, 0 } };
+    yaml_alias_data_t data;
     yaml_alias_data_t *alias_data;
 
     if (!anchor) return 1;
 
+    data.anchor = anchor;
+    data.index = index;
     data.mark = parser->document->nodes.start[index-1].start_mark;
 
     for (alias_data = parser->aliases.start;
index 4d4d3b7d3df3188833e0ff74d7206e652356fec6..eb2a2c792b7ddcbd5623bdbcaa3dc1368019053d 100644 (file)
@@ -1280,10 +1280,10 @@ yaml_parser_process_directives(yaml_parser_t *parser,
         }
 
         else if (token->type == YAML_TAG_DIRECTIVE_TOKEN) {
-            yaml_tag_directive_t value = {
-                token->data.tag_directive.handle,
-                token->data.tag_directive.prefix
-            };
+            yaml_tag_directive_t value;
+            value.handle = token->data.tag_directive.handle;
+            value.prefix = token->data.tag_directive.prefix;
+
             if (!yaml_parser_append_tag_directive(parser, value, 0,
                         token->start_mark))
                 goto error;
index f96a9f4b9acbbb70726c5e7b93a57f3a73030ab3..86e2050165a0f2da6e4e2342cc6d630a7f614b8d 100644 (file)
@@ -1118,9 +1118,11 @@ yaml_parser_save_simple_key(yaml_parser_t *parser)
 
     if (parser->simple_key_allowed)
     {
-        yaml_simple_key_t simple_key = { 1, required,
-            parser->tokens_parsed + parser->tokens.tail - parser->tokens.head,
-            { 0, 0, 0 } };
+        yaml_simple_key_t simple_key;
+        simple_key.possible = 1;
+        simple_key.required = required;
+        simple_key.token_number = 
+            parser->tokens_parsed + parser->tokens.tail - parser->tokens.head;
         simple_key.mark = parser->mark;
 
         if (!yaml_parser_remove_simple_key(parser)) return 0;
index 6320cafdbeefe185e054bac334559c844ee63ef3..ed5ea66cc3ff639316ac8574dcc25b015d7f593f 100644 (file)
@@ -113,6 +113,11 @@ yaml_string_join(
 
 #define STRING(string,length)   { (string), (string)+(length), (string) }
 
+#define STRING_ASSIGN(value,string,length)                                      \
+    ((value).start = (string),                                                  \
+     (value).end = (string)+(length),                                           \
+     (value).pointer = (string))
+
 #define STRING_INIT(context,string,size)                                        \
     (((string).start = yaml_malloc(size)) ?                                     \
         ((string).pointer = (string).start,                                     \
This page took 0.111339 seconds and 5 git commands to generate.