Ignore:
Timestamp:
01/07/07 15:11:16 (8 years ago)
Author:
xi
Message:

Add functions for constructing, parsing and emitting YAML documents.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libyaml/trunk/src/yaml_private.h

    r237 r238  
    581581 
    582582/* 
     583 * Document initializer. 
     584 */ 
     585 
     586#define DOCUMENT_INIT(document,document_nodes_start,document_nodes_end,         \ 
     587        document_version_directive,document_tag_directives_start,               \ 
     588        document_tag_directives_end,document_start_implicit,                    \ 
     589        document_end_implicit,start_mark,end_mark)                              \ 
     590    (memset(&(document), 0, sizeof(yaml_document_t)),                           \ 
     591     (document).nodes.start = (document_nodes_start),                           \ 
     592     (document).nodes.end = (document_nodes_end),                               \ 
     593     (document).nodes.top = (document_nodes_start),                             \ 
     594     (document).version_directive = (document_version_directive),               \ 
     595     (document).tag_directives.start = (document_tag_directives_start),         \ 
     596     (document).tag_directives.end = (document_tag_directives_end),             \ 
     597     (document).start_implicit = (document_start_implicit),                     \ 
     598     (document).end_implicit = (document_end_implicit)) 
     599 
     600/* 
    583601 * Node initializers. 
    584602 */ 
    585603 
    586 #define NODE_INIT(node,node_type,node_start_mark,node_end_mark)                 \ 
     604#define NODE_INIT(node,node_type,node_tag,node_start_mark,node_end_mark)        \ 
    587605    (memset(&(node), 0, sizeof(yaml_node_t)),                                   \ 
    588606     (node).type = (node_type),                                                 \ 
     607     (node).tag = (node_tag),                                                   \ 
    589608     (node).start_mark = (node_start_mark),                                     \ 
    590609     (node).end_mark = (node_end_mark)) 
     
    592611#define SCALAR_NODE_INIT(node,node_tag,node_value,node_length,                  \ 
    593612        node_style,start_mark,end_mark)                                         \ 
    594     (EVENT_INIT((node),YAML_SCALAR_NODE,(start_mark),(end_mark)),               \ 
    595      (node).data.scalar.tag = (node_tag),                                       \ 
     613    (NODE_INIT((node),YAML_SCALAR_NODE,(node_tag),(start_mark),(end_mark)),     \ 
    596614     (node).data.scalar.value = (node_value),                                   \ 
    597615     (node).data.scalar.length = (node_length),                                 \ 
     
    600618#define SEQUENCE_NODE_INIT(node,node_tag,node_items_start,node_items_end,       \ 
    601619        node_style,start_mark,end_mark)                                         \ 
    602     (NODE_INIT((node),YAML_SEQUENCE_NODE,(start_mark),(end_mark)),             \ 
    603      (node).data.sequence.tag = (node_tag),                                     \ 
     620    (NODE_INIT((node),YAML_SEQUENCE_NODE,(node_tag),(start_mark),(end_mark)),   \ 
    604621     (node).data.sequence.items.start = (node_items_start),                     \ 
    605622     (node).data.sequence.items.end = (node_items_end),                         \ 
     
    609626#define MAPPING_NODE_INIT(node,node_tag,node_pairs_start,node_pairs_end,        \ 
    610627        node_style,start_mark,end_mark)                                         \ 
    611     (NODE_INIT((node),YAML_MAPPING_NODE,(start_mark),(end_mark)),               \ 
    612      (node).data.mapping.tag = (node_tag),                                      \ 
     628    (NODE_INIT((node),YAML_MAPPING_NODE,(node_tag),(start_mark),(end_mark)),    \ 
    613629     (node).data.mapping.pairs.start = (node_pairs_start),                      \ 
    614630     (node).data.mapping.pairs.end = (node_pairs_end),                          \ 
Note: See TracChangeset for help on using the changeset viewer.