Changeset 272
- Timestamp:
- 07/31/08 16:24:39 (4 years ago)
- Location:
- libyaml
- Files:
-
- 2 modified
- 2 copied
-
tags/0.1.1 (copied) (copied from libyaml/branches/stable)
-
tags/0.1.1/configure.ac (copied) (copied from libyaml/branches/stable/configure.ac)
-
trunk/src/dumper.c (modified) (8 diffs)
-
trunk/src/yaml_private.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libyaml/trunk/src/dumper.c
r263 r272 1 1 2 2 #include "yaml_private.h" 3 4 #if 05 3 6 4 /* … … 67 65 yaml_mark_t mark = { 0, 0, 0 }; 68 66 69 assert(emitter); /* Non-NULL emitter object is required. */70 assert(!emitter-> opened);/* Emitter should not be opened yet. */67 assert(emitter); /* Non-NULL emitter object is required. */ 68 assert(!emitter->is_opened); /* Emitter should not be opened yet. */ 71 69 72 70 STREAM_START_EVENT_INIT(event, YAML_ANY_ENCODING, mark, mark); … … 76 74 } 77 75 78 emitter-> opened = 1;76 emitter->is_opened = 1; 79 77 80 78 return 1; … … 92 90 93 91 assert(emitter); /* Non-NULL emitter object is required. */ 94 assert(emitter-> opened);/* Emitter should be opened. */95 96 if (emitter-> closed) return 1;92 assert(emitter->is_opened); /* Emitter should be opened. */ 93 94 if (emitter->is_closed) return 1; 97 95 98 96 STREAM_END_EVENT_INIT(event, mark, mark); … … 102 100 } 103 101 104 emitter-> closed = 1;102 emitter->is_closed = 1; 105 103 106 104 return 1; … … 122 120 emitter->document = document; 123 121 124 if (!emitter-> opened) {122 if (!emitter->is_opened) { 125 123 if (!yaml_emitter_open(emitter)) goto error; 126 124 } 127 125 128 if (STACK_EMPTY(emitter, document->nodes)) { 126 if (document->type == YAML_DOCUMENT) 127 { 128 assert(emitter->is_opened); /* Emitter should be opened. */ 129 130 if (STACK_EMPTY(emitter, emitter->nodes)) { 131 SERIALIZER_ERROR_INIT(emitter, "root node is not specified"); 132 goto error; 133 } 134 135 emitter->anchors = yaml_malloc(sizeof(*(emitter->anchors)) 136 * (document->nodes.length)); 137 if (!emitter->anchors) goto error; 138 memset(emitter->anchors, 0, sizeof(*(emitter->anchors)) 139 * (document->nodes.length)); 140 141 DOCUMENT_START_EVENT_INIT(event, document->version_directive, 142 document->tag_directives.list, document->tag_directives.length, 143 document->tag_directives.capacity, 144 document->start_implicit, mark, mark); 145 if (!yaml_emitter_emit(emitter, &event)) goto error; 146 147 yaml_emitter_anchor_node(emitter, 0); 148 if (!yaml_emitter_dump_node(emitter, 0)) goto error; 149 150 DOCUMENT_END_EVENT_INIT(event, document->end_implicit, mark, mark); 151 if (!yaml_emitter_emit(emitter, &event)) goto error; 152 } 153 154 if (!document->type) { 129 155 if (!yaml_emitter_close(emitter)) goto error; 130 yaml_emitter_delete_document_and_anchors(emitter); 131 return 1; 132 } 133 134 assert(emitter->opened); /* Emitter should be opened. */ 135 136 emitter->anchors = yaml_malloc(sizeof(*(emitter->anchors)) 137 * (document->nodes.top - document->nodes.start)); 138 if (!emitter->anchors) goto error; 139 memset(emitter->anchors, 0, sizeof(*(emitter->anchors)) 140 * (document->nodes.top - document->nodes.start)); 141 142 DOCUMENT_START_EVENT_INIT(event, document->version_directive, 143 document->tag_directives.start, document->tag_directives.end, 144 document->start_implicit, mark, mark); 145 if (!yaml_emitter_emit(emitter, &event)) goto error; 146 147 yaml_emitter_anchor_node(emitter, 1); 148 if (!yaml_emitter_dump_node(emitter, 1)) goto error; 149 150 DOCUMENT_END_EVENT_INIT(event, document->end_implicit, mark, mark); 151 if (!yaml_emitter_emit(emitter, &event)) goto error; 156 } 152 157 153 158 yaml_emitter_delete_document_and_anchors(emitter); … … 244 249 */ 245 250 246 #define ANCHOR_TEMPLATE " id%03d"251 #define ANCHOR_TEMPLATE "_%03d" 247 252 #define ANCHOR_TEMPLATE_LENGTH 16 248 253 … … 395 400 } 396 401 397 #endif398 -
libyaml/trunk/src/yaml_private.h
r267 r272 1229 1229 1230 1230 /* 1231 * The information of a node being emitted. 1232 */ 1233 1234 struct typedef yaml_node_data_s { 1235 /* The node id. */ 1236 int id; 1237 /* The collection iterator. */ 1238 int index; 1239 } yaml_node_data_t; 1240 1241 /* 1231 1242 * The structure that holds data used by the file and string readers. 1232 1243 */ … … 1241 1252 1242 1253 /* 1243 * The internal semitter structure.1254 * The internal emitter structure. 1244 1255 */ 1245 1256
