Ruby  2.0.0p247(2013-06-27revision41674)
Data Structures | Defines | Functions
ext/psych/yaml/yaml_private.h File Reference
#include <yaml.h>
#include <assert.h>
#include <limits.h>

Go to the source code of this file.

Data Structures

struct  yaml_string_t

Defines

#define INPUT_RAW_BUFFER_SIZE   16384
#define INPUT_BUFFER_SIZE   (INPUT_RAW_BUFFER_SIZE*3)
#define OUTPUT_BUFFER_SIZE   16384
#define OUTPUT_RAW_BUFFER_SIZE   (OUTPUT_BUFFER_SIZE*2+2)
#define INITIAL_STACK_SIZE   16
#define INITIAL_QUEUE_SIZE   16
#define INITIAL_STRING_SIZE   16
#define BUFFER_INIT(context, buffer, size)
#define BUFFER_DEL(context, buffer)
#define NULL_STRING   { NULL, NULL, NULL }
#define STRING(string, length)   { (string), (string)+(length), (string) }
#define STRING_ASSIGN(value, string, length)
#define STRING_INIT(context, string, size)
#define STRING_DEL(context, string)
#define STRING_EXTEND(context, string)
#define CLEAR(context, string)
#define JOIN(context, string_a, string_b)
#define CHECK_AT(string, octet, offset)   ((string).pointer[offset] == (yaml_char_t)(octet))
#define CHECK(string, octet)   CHECK_AT((string),(octet),0)
#define IS_ALPHA_AT(string, offset)
#define IS_ALPHA(string)   IS_ALPHA_AT((string),0)
#define IS_DIGIT_AT(string, offset)
#define IS_DIGIT(string)   IS_DIGIT_AT((string),0)
#define AS_DIGIT_AT(string, offset)   ((string).pointer[offset] - (yaml_char_t) '0')
#define AS_DIGIT(string)   AS_DIGIT_AT((string),0)
#define IS_HEX_AT(string, offset)
#define IS_HEX(string)   IS_HEX_AT((string),0)
#define AS_HEX_AT(string, offset)
#define AS_HEX(string)   AS_HEX_AT((string),0)
#define IS_ASCII_AT(string, offset)   ((string).pointer[offset] <= (yaml_char_t) '\x7F')
#define IS_ASCII(string)   IS_ASCII_AT((string),0)
#define IS_PRINTABLE_AT(string, offset)
#define IS_PRINTABLE(string)   IS_PRINTABLE_AT((string),0)
#define IS_Z_AT(string, offset)   CHECK_AT((string),'\0',(offset))
#define IS_Z(string)   IS_Z_AT((string),0)
#define IS_BOM_AT(string, offset)
#define IS_BOM(string)   IS_BOM_AT(string,0)
#define IS_SPACE_AT(string, offset)   CHECK_AT((string),' ',(offset))
#define IS_SPACE(string)   IS_SPACE_AT((string),0)
#define IS_TAB_AT(string, offset)   CHECK_AT((string),'\t',(offset))
#define IS_TAB(string)   IS_TAB_AT((string),0)
#define IS_BLANK_AT(string, offset)   (IS_SPACE_AT((string),(offset)) || IS_TAB_AT((string),(offset)))
#define IS_BLANK(string)   IS_BLANK_AT((string),0)
#define IS_BREAK_AT(string, offset)
#define IS_BREAK(string)   IS_BREAK_AT((string),0)
#define IS_CRLF_AT(string, offset)   (CHECK_AT((string),'\r',(offset)) && CHECK_AT((string),'\n',(offset)+1))
#define IS_CRLF(string)   IS_CRLF_AT((string),0)
#define IS_BREAKZ_AT(string, offset)   (IS_BREAK_AT((string),(offset)) || IS_Z_AT((string),(offset)))
#define IS_BREAKZ(string)   IS_BREAKZ_AT((string),0)
#define IS_SPACEZ_AT(string, offset)   (IS_SPACE_AT((string),(offset)) || IS_BREAKZ_AT((string),(offset)))
#define IS_SPACEZ(string)   IS_SPACEZ_AT((string),0)
#define IS_BLANKZ_AT(string, offset)   (IS_BLANK_AT((string),(offset)) || IS_BREAKZ_AT((string),(offset)))
#define IS_BLANKZ(string)   IS_BLANKZ_AT((string),0)
#define WIDTH_AT(string, offset)
#define WIDTH(string)   WIDTH_AT((string),0)
#define MOVE(string)   ((string).pointer += WIDTH((string)))
#define COPY(string_a, string_b)
#define STACK_INIT(context, stack, size)
#define STACK_DEL(context, stack)
#define STACK_EMPTY(context, stack)   ((stack).start == (stack).top)
#define PUSH(context, stack, value)
#define POP(context, stack)   (*(--(stack).top))
#define QUEUE_INIT(context, queue, size)
#define QUEUE_DEL(context, queue)
#define QUEUE_EMPTY(context, queue)   ((queue).head == (queue).tail)
#define ENQUEUE(context, queue, value)
#define DEQUEUE(context, queue)   (*((queue).head++))
#define QUEUE_INSERT(context, queue, index, value)
#define TOKEN_INIT(token, token_type, token_start_mark, token_end_mark)
#define STREAM_START_TOKEN_INIT(token, token_encoding, start_mark, end_mark)
#define STREAM_END_TOKEN_INIT(token, start_mark, end_mark)   (TOKEN_INIT((token),YAML_STREAM_END_TOKEN,(start_mark),(end_mark)))
#define ALIAS_TOKEN_INIT(token, token_value, start_mark, end_mark)
#define ANCHOR_TOKEN_INIT(token, token_value, start_mark, end_mark)
#define TAG_TOKEN_INIT(token, token_handle, token_suffix, start_mark, end_mark)
#define SCALAR_TOKEN_INIT(token, token_value, token_length, token_style, start_mark, end_mark)
#define VERSION_DIRECTIVE_TOKEN_INIT(token, token_major, token_minor, start_mark, end_mark)
#define TAG_DIRECTIVE_TOKEN_INIT(token, token_handle, token_prefix, start_mark, end_mark)
#define EVENT_INIT(event, event_type, event_start_mark, event_end_mark)
#define STREAM_START_EVENT_INIT(event, event_encoding, start_mark, end_mark)
#define STREAM_END_EVENT_INIT(event, start_mark, end_mark)   (EVENT_INIT((event),YAML_STREAM_END_EVENT,(start_mark),(end_mark)))
#define DOCUMENT_START_EVENT_INIT(event, event_version_directive,event_tag_directives_start, event_tag_directives_end, event_implicit, start_mark, end_mark)
#define DOCUMENT_END_EVENT_INIT(event, event_implicit, start_mark, end_mark)
#define ALIAS_EVENT_INIT(event, event_anchor, start_mark, end_mark)
#define SCALAR_EVENT_INIT(event, event_anchor, event_tag, event_value, event_length,event_plain_implicit, event_quoted_implicit, event_style, start_mark, end_mark)
#define SEQUENCE_START_EVENT_INIT(event, event_anchor, event_tag,event_implicit, event_style, start_mark, end_mark)
#define SEQUENCE_END_EVENT_INIT(event, start_mark, end_mark)   (EVENT_INIT((event),YAML_SEQUENCE_END_EVENT,(start_mark),(end_mark)))
#define MAPPING_START_EVENT_INIT(event, event_anchor, event_tag,event_implicit, event_style, start_mark, end_mark)
#define MAPPING_END_EVENT_INIT(event, start_mark, end_mark)   (EVENT_INIT((event),YAML_MAPPING_END_EVENT,(start_mark),(end_mark)))
#define DOCUMENT_INIT(document, document_nodes_start, document_nodes_end,document_version_directive, document_tag_directives_start,document_tag_directives_end, document_start_implicit,document_end_implicit, document_start_mark, document_end_mark)
#define NODE_INIT(node, node_type, node_tag, node_start_mark, node_end_mark)
#define SCALAR_NODE_INIT(node, node_tag, node_value, node_length,node_style, start_mark, end_mark)
#define SEQUENCE_NODE_INIT(node, node_tag, node_items_start, node_items_end,node_style, start_mark, end_mark)
#define MAPPING_NODE_INIT(node, node_tag, node_pairs_start, node_pairs_end,node_style, start_mark, end_mark)

Functions

 yaml_malloc (size_t size)
 yaml_realloc (void *ptr, size_t size)
 yaml_free (void *ptr)
 yaml_strdup (const yaml_char_t *)
 yaml_parser_update_buffer (yaml_parser_t *parser, size_t length)
 yaml_parser_fetch_more_tokens (yaml_parser_t *parser)
 yaml_string_extend (yaml_char_t **start, yaml_char_t **pointer, yaml_char_t **end)
 yaml_string_join (yaml_char_t **a_start, yaml_char_t **a_pointer, yaml_char_t **a_end, yaml_char_t **b_start, yaml_char_t **b_pointer, yaml_char_t **b_end)
 yaml_stack_extend (void **start, void **top, void **end)
 yaml_queue_extend (void **start, void **head, void **tail, void **end)

Define Documentation

#define ALIAS_EVENT_INIT (   event,
  event_anchor,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_ALIAS_EVENT,(start_mark),(end_mark)),              \
     (event).data.alias.anchor = (event_anchor))

Definition at line 553 of file yaml_private.h.

Referenced by yaml_alias_event_initialize(), yaml_emitter_dump_alias(), and yaml_parser_parse_node().

#define ALIAS_TOKEN_INIT (   token,
  token_value,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_ALIAS_TOKEN,(start_mark),(end_mark)),              \
     (token).data.alias.value = (token_value))

Definition at line 495 of file yaml_private.h.

Referenced by yaml_parser_scan_anchor().

#define ANCHOR_TOKEN_INIT (   token,
  token_value,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_ANCHOR_TOKEN,(start_mark),(end_mark)),             \
     (token).data.anchor.value = (token_value))

Definition at line 499 of file yaml_private.h.

Referenced by yaml_parser_scan_anchor().

#define AS_DIGIT (   string)    AS_DIGIT_AT((string),0)
#define AS_DIGIT_AT (   string,
  offset 
)    ((string).pointer[offset] - (yaml_char_t) '0')

Definition at line 203 of file yaml_private.h.

#define AS_HEX (   string)    AS_HEX_AT((string),0)

Definition at line 235 of file yaml_private.h.

#define AS_HEX_AT (   string,
  offset 
)
Value:
(((string).pointer[offset] >= (yaml_char_t) 'A' &&                        \
        (string).pointer[offset] <= (yaml_char_t) 'F') ?                        \
       ((string).pointer[offset] - (yaml_char_t) 'A' + 10) :                    \
       ((string).pointer[offset] >= (yaml_char_t) 'a' &&                        \
        (string).pointer[offset] <= (yaml_char_t) 'f') ?                        \
       ((string).pointer[offset] - (yaml_char_t) 'a' + 10) :                    \
       ((string).pointer[offset] - (yaml_char_t) '0'))

Definition at line 226 of file yaml_private.h.

Referenced by yaml_parser_scan_flow_scalar(), and yaml_parser_scan_uri_escapes().

#define BUFFER_DEL (   context,
  buffer 
)
Value:
(yaml_free((buffer).start),                                                 \
     (buffer).start = (buffer).pointer = (buffer).end = 0)

Definition at line 92 of file yaml_private.h.

Referenced by yaml_emitter_delete(), yaml_emitter_initialize(), yaml_parser_delete(), and yaml_parser_initialize().

#define BUFFER_INIT (   context,
  buffer,
  size 
)
Value:
(((buffer).start = yaml_malloc(size)) ?                                     \
        ((buffer).last = (buffer).pointer = (buffer).start,                     \
         (buffer).end = (buffer).start+(size),                                  \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 84 of file yaml_private.h.

Referenced by yaml_emitter_initialize(), and yaml_parser_initialize().

#define CHECK (   string,
  octet 
)    CHECK_AT((string),(octet),0)
#define CHECK_AT (   string,
  octet,
  offset 
)    ((string).pointer[offset] == (yaml_char_t)(octet))
#define CLEAR (   context,
  string 
)
Value:
((string).pointer = (string).start,                                         \
     memset((string).start, 0, (string).end-(string).start))

Definition at line 142 of file yaml_private.h.

Referenced by yaml_parser_scan_block_scalar(), yaml_parser_scan_flow_scalar(), and yaml_parser_scan_plain_scalar().

#define COPY (   string_a,
  string_b 
)
Value:
((*(string_b).pointer & 0x80) == 0x00 ?                                     \
     (*((string_a).pointer++) = *((string_b).pointer++)) :                      \
     (*(string_b).pointer & 0xE0) == 0xC0 ?                                     \
     (*((string_a).pointer++) = *((string_b).pointer++),                        \
      *((string_a).pointer++) = *((string_b).pointer++)) :                      \
     (*(string_b).pointer & 0xF0) == 0xE0 ?                                     \
     (*((string_a).pointer++) = *((string_b).pointer++),                        \
      *((string_a).pointer++) = *((string_b).pointer++),                        \
      *((string_a).pointer++) = *((string_b).pointer++)) :                      \
     (*(string_b).pointer & 0xF8) == 0xF0 ?                                     \
     (*((string_a).pointer++) = *((string_b).pointer++),                        \
      *((string_a).pointer++) = *((string_b).pointer++),                        \
      *((string_a).pointer++) = *((string_b).pointer++),                        \
      *((string_a).pointer++) = *((string_b).pointer++)) : 0)

Definition at line 386 of file yaml_private.h.

Referenced by BSD__sfvwrite().

#define DEQUEUE (   context,
  queue 
)    (*((queue).head++))
#define DOCUMENT_END_EVENT_INIT (   event,
  event_implicit,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_DOCUMENT_END_EVENT,(start_mark),(end_mark)),       \
     (event).data.document_end.implicit = (event_implicit))

Definition at line 549 of file yaml_private.h.

Referenced by yaml_document_end_event_initialize(), yaml_emitter_dump(), and yaml_parser_parse_document_end().

#define DOCUMENT_INIT (   document,
  document_nodes_start,
  document_nodes_end,
  document_version_directive,
  document_tag_directives_start,
  document_tag_directives_end,
  document_start_implicit,
  document_end_implicit,
  document_start_mark,
  document_end_mark 
)
Value:
(memset(&(document), 0, sizeof(yaml_document_t)),                           \
     (document).nodes.start = (document_nodes_start),                           \
     (document).nodes.end = (document_nodes_end),                               \
     (document).nodes.top = (document_nodes_start),                             \
     (document).version_directive = (document_version_directive),               \
     (document).tag_directives.start = (document_tag_directives_start),         \
     (document).tag_directives.end = (document_tag_directives_end),             \
     (document).start_implicit = (document_start_implicit),                     \
     (document).end_implicit = (document_end_implicit),                         \
     (document).start_mark = (document_start_mark),                             \
     (document).end_mark = (document_end_mark))

Definition at line 594 of file yaml_private.h.

Referenced by yaml_document_initialize().

#define DOCUMENT_START_EVENT_INIT (   event,
  event_version_directive,
  event_tag_directives_start,
  event_tag_directives_end,
  event_implicit,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_DOCUMENT_START_EVENT,(start_mark),(end_mark)),     \
     (event).data.document_start.version_directive = (event_version_directive), \
     (event).data.document_start.tag_directives.start = (event_tag_directives_start),   \
     (event).data.document_start.tag_directives.end = (event_tag_directives_end),   \
     (event).data.document_start.implicit = (event_implicit))

Definition at line 541 of file yaml_private.h.

Referenced by yaml_document_start_event_initialize(), yaml_emitter_dump(), and yaml_parser_parse_document_start().

#define ENQUEUE (   context,
  queue,
  value 
)
#define EVENT_INIT (   event,
  event_type,
  event_start_mark,
  event_end_mark 
)
Value:
(memset(&(event), 0, sizeof(yaml_event_t)),                                 \
     (event).type = (event_type),                                               \
     (event).start_mark = (event_start_mark),                                   \
     (event).end_mark = (event_end_mark))

Definition at line 528 of file yaml_private.h.

#define INITIAL_QUEUE_SIZE   16

Definition at line 77 of file yaml_private.h.

Referenced by yaml_emitter_initialize(), and yaml_parser_initialize().

#define INITIAL_STACK_SIZE   16
#define INITIAL_STRING_SIZE   16

Definition at line 56 of file yaml_private.h.

Referenced by yaml_parser_initialize().

#define INPUT_RAW_BUFFER_SIZE   16384

Definition at line 48 of file yaml_private.h.

Referenced by yaml_parser_initialize().

#define IS_ALPHA (   string)    IS_ALPHA_AT((string),0)
#define IS_ALPHA_AT (   string,
  offset 
)
Value:
(((string).pointer[offset] >= (yaml_char_t) '0' &&                         \
       (string).pointer[offset] <= (yaml_char_t) '9') ||                        \
      ((string).pointer[offset] >= (yaml_char_t) 'A' &&                         \
       (string).pointer[offset] <= (yaml_char_t) 'Z') ||                        \
      ((string).pointer[offset] >= (yaml_char_t) 'a' &&                         \
       (string).pointer[offset] <= (yaml_char_t) 'z') ||                        \
      (string).pointer[offset] == '_' ||                                        \
      (string).pointer[offset] == '-')

Definition at line 177 of file yaml_private.h.

#define IS_ASCII (   string)    IS_ASCII_AT((string),0)
#define IS_ASCII_AT (   string,
  offset 
)    ((string).pointer[offset] <= (yaml_char_t) '\x7F')

Definition at line 241 of file yaml_private.h.

#define IS_BLANK (   string)    IS_BLANK_AT((string),0)
#define IS_BLANK_AT (   string,
  offset 
)    (IS_SPACE_AT((string),(offset)) || IS_TAB_AT((string),(offset)))

Definition at line 309 of file yaml_private.h.

Referenced by yaml_parser_fetch_next_token().

#define IS_BLANKZ (   string)    IS_BLANKZ_AT((string),0)
#define IS_BLANKZ_AT (   string,
  offset 
)    (IS_BLANK_AT((string),(offset)) || IS_BREAKZ_AT((string),(offset)))
#define IS_BOM (   string)    IS_BOM_AT(string,0)
#define IS_BOM_AT (   string,
  offset 
)
Value:
(CHECK_AT((string),'\xEF',(offset))                                        \
      && CHECK_AT((string),'\xBB',(offset)+1)                                   \
      && CHECK_AT((string),'\xBF',(offset)+2))  /* BOM (#xFEFF) */

Definition at line 282 of file yaml_private.h.

#define IS_BREAK (   string)    IS_BREAK_AT((string),0)
#define IS_BREAK_AT (   string,
  offset 
)
Value:
(CHECK_AT((string),'\r',(offset))               /* CR (#xD)*/               \
     || CHECK_AT((string),'\n',(offset))            /* LF (#xA) */              \
     || (CHECK_AT((string),'\xC2',(offset))                                     \
         && CHECK_AT((string),'\x85',(offset)+1))   /* NEL (#x85) */            \
     || (CHECK_AT((string),'\xE2',(offset))                                     \
         && CHECK_AT((string),'\x80',(offset)+1)                                \
         && CHECK_AT((string),'\xA8',(offset)+2))   /* LS (#x2028) */           \
     || (CHECK_AT((string),'\xE2',(offset))                                     \
         && CHECK_AT((string),'\x80',(offset)+1)                                \
         && CHECK_AT((string),'\xA9',(offset)+2)))  /* PS (#x2029) */

Definition at line 318 of file yaml_private.h.

Referenced by yaml_emitter_write_folded_scalar(), and yaml_parser_scan_flow_scalar().

#define IS_BREAKZ (   string)    IS_BREAKZ_AT((string),0)
#define IS_BREAKZ_AT (   string,
  offset 
)    (IS_BREAK_AT((string),(offset)) || IS_Z_AT((string),(offset)))

Definition at line 341 of file yaml_private.h.

#define IS_CRLF (   string)    IS_CRLF_AT((string),0)

Definition at line 335 of file yaml_private.h.

#define IS_CRLF_AT (   string,
  offset 
)    (CHECK_AT((string),'\r',(offset)) && CHECK_AT((string),'\n',(offset)+1))

Definition at line 332 of file yaml_private.h.

#define IS_DIGIT (   string)    IS_DIGIT_AT((string),0)
#define IS_DIGIT_AT (   string,
  offset 
)
Value:
(((string).pointer[offset] >= (yaml_char_t) '0' &&                         \
       (string).pointer[offset] <= (yaml_char_t) '9'))

Definition at line 193 of file yaml_private.h.

#define IS_HEX (   string)    IS_HEX_AT((string),0)

Definition at line 220 of file yaml_private.h.

#define IS_HEX_AT (   string,
  offset 
)
Value:
(((string).pointer[offset] >= (yaml_char_t) '0' &&                         \
       (string).pointer[offset] <= (yaml_char_t) '9') ||                        \
      ((string).pointer[offset] >= (yaml_char_t) 'A' &&                         \
       (string).pointer[offset] <= (yaml_char_t) 'F') ||                        \
      ((string).pointer[offset] >= (yaml_char_t) 'a' &&                         \
       (string).pointer[offset] <= (yaml_char_t) 'f'))

Definition at line 212 of file yaml_private.h.

Referenced by yaml_parser_scan_flow_scalar(), and yaml_parser_scan_uri_escapes().

#define IS_PRINTABLE (   string)    IS_PRINTABLE_AT((string),0)
#define IS_PRINTABLE_AT (   string,
  offset 
)
Value:
(((string).pointer[offset] == 0x0A)         /* . == #x0A */                 \
     || ((string).pointer[offset] >= 0x20       /* #x20 <= . <= #x7E */         \
         && (string).pointer[offset] <= 0x7E)                                   \
     || ((string).pointer[offset] == 0xC2       /* #0xA0 <= . <= #xD7FF */      \
         && (string).pointer[offset+1] >= 0xA0)                                 \
     || ((string).pointer[offset] > 0xC2                                        \
         && (string).pointer[offset] < 0xED)                                    \
     || ((string).pointer[offset] == 0xED                                       \
         && (string).pointer[offset+1] < 0xA0)                                  \
     || ((string).pointer[offset] == 0xEE)                                      \
     || ((string).pointer[offset] == 0xEF      /* #xE000 <= . <= #xFFFD */      \
         && !((string).pointer[offset+1] == 0xBB        /* && . != #xFEFF */    \
             && (string).pointer[offset+2] == 0xBF)                             \
         && !((string).pointer[offset+1] == 0xBF                                \
             && ((string).pointer[offset+2] == 0xBE                             \
                 || (string).pointer[offset+2] == 0xBF))))

Definition at line 250 of file yaml_private.h.

#define IS_SPACE (   string)    IS_SPACE_AT((string),0)
#define IS_SPACE_AT (   string,
  offset 
)    CHECK_AT((string),' ',(offset))
#define IS_SPACEZ (   string)    IS_SPACEZ_AT((string),0)

Definition at line 353 of file yaml_private.h.

#define IS_SPACEZ_AT (   string,
  offset 
)    (IS_SPACE_AT((string),(offset)) || IS_BREAKZ_AT((string),(offset)))

Definition at line 350 of file yaml_private.h.

#define IS_TAB (   string)    IS_TAB_AT((string),0)
#define IS_TAB_AT (   string,
  offset 
)    CHECK_AT((string),'\t',(offset))

Definition at line 301 of file yaml_private.h.

#define IS_Z (   string)    IS_Z_AT((string),0)
#define IS_Z_AT (   string,
  offset 
)    CHECK_AT((string),'\0',(offset))

Definition at line 274 of file yaml_private.h.

#define JOIN (   context,
  string_a,
  string_b 
)
Value:
((yaml_string_join(&(string_a).start, &(string_a).pointer,                  \
                       &(string_a).end, &(string_b).start,                      \
                       &(string_b).pointer, &(string_b).end)) ?                 \
        ((string_b).pointer = (string_b).start,                                 \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 146 of file yaml_private.h.

Referenced by yaml_parser_scan_block_scalar(), yaml_parser_scan_flow_scalar(), and yaml_parser_scan_plain_scalar().

#define MAPPING_END_EVENT_INIT (   event,
  start_mark,
  end_mark 
)    (EVENT_INIT((event),YAML_MAPPING_END_EVENT,(start_mark),(end_mark)))
#define MAPPING_NODE_INIT (   node,
  node_tag,
  node_pairs_start,
  node_pairs_end,
  node_style,
  start_mark,
  end_mark 
)
Value:
(NODE_INIT((node),YAML_MAPPING_NODE,(node_tag),(start_mark),(end_mark)),    \
     (node).data.mapping.pairs.start = (node_pairs_start),                      \
     (node).data.mapping.pairs.end = (node_pairs_end),                          \
     (node).data.mapping.pairs.top = (node_pairs_start),                        \
     (node).data.mapping.style = (node_style))

Definition at line 636 of file yaml_private.h.

Referenced by yaml_document_add_mapping(), and yaml_parser_load_mapping().

#define MAPPING_START_EVENT_INIT (   event,
  event_anchor,
  event_tag,
  event_implicit,
  event_style,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_MAPPING_START_EVENT,(start_mark),(end_mark)),      \
     (event).data.mapping_start.anchor = (event_anchor),                        \
     (event).data.mapping_start.tag = (event_tag),                              \
     (event).data.mapping_start.implicit = (event_implicit),                    \
     (event).data.mapping_start.style = (event_style))

Definition at line 579 of file yaml_private.h.

Referenced by yaml_emitter_dump_mapping(), yaml_mapping_start_event_initialize(), yaml_parser_parse_flow_sequence_entry(), and yaml_parser_parse_node().

#define MOVE (   string)    ((string).pointer += WIDTH((string)))
#define NODE_INIT (   node,
  node_type,
  node_tag,
  node_start_mark,
  node_end_mark 
)
Value:
(memset(&(node), 0, sizeof(yaml_node_t)),                                   \
     (node).type = (node_type),                                                 \
     (node).tag = (node_tag),                                                   \
     (node).start_mark = (node_start_mark),                                     \
     (node).end_mark = (node_end_mark))

Definition at line 614 of file yaml_private.h.

#define NULL_STRING   { NULL, NULL, NULL }
#define OUTPUT_BUFFER_SIZE   16384

Definition at line 62 of file yaml_private.h.

Referenced by yaml_emitter_initialize().

Definition at line 70 of file yaml_private.h.

Referenced by yaml_emitter_initialize().

#define POP (   context,
  stack 
)    (*(--(stack).top))
#define PUSH (   context,
  stack,
  value 
)
Value:
(((stack).top != (stack).end                                                \
      || yaml_stack_extend((void **)&(stack).start,                             \
              (void **)&(stack).top, (void **)&(stack).end)) ?                  \
        (*((stack).top++) = value,                                              \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 427 of file yaml_private.h.

#define QUEUE_DEL (   context,
  queue 
)
Value:
(yaml_free((queue).start),                                                  \
     (queue).start = (queue).head = (queue).tail = (queue).end = 0)

Definition at line 447 of file yaml_private.h.

Referenced by yaml_emitter_delete(), yaml_emitter_initialize(), yaml_parser_delete(), and yaml_parser_initialize().

#define QUEUE_EMPTY (   context,
  queue 
)    ((queue).head == (queue).tail)
#define QUEUE_INIT (   context,
  queue,
  size 
)
Value:
(((queue).start = yaml_malloc((size)*sizeof(*(queue).start))) ?             \
        ((queue).head = (queue).tail = (queue).start,                           \
         (queue).end = (queue).start+(size),                                    \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 439 of file yaml_private.h.

Referenced by yaml_emitter_initialize(), and yaml_parser_initialize().

#define QUEUE_INSERT (   context,
  queue,
  index,
  value 
)
Value:
(((queue).tail != (queue).end                                               \
      || yaml_queue_extend((void **)&(queue).start, (void **)&(queue).head,     \
            (void **)&(queue).tail, (void **)&(queue).end)) ?                   \
        (memmove((queue).head+(index)+1,(queue).head+(index),                   \
            ((queue).tail-(queue).head-(index))*sizeof(*(queue).start)),        \
         *((queue).head+(index)) = value,                                       \
         (queue).tail++,                                                        \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 466 of file yaml_private.h.

Referenced by yaml_parser_fetch_value(), and yaml_parser_roll_indent().

#define SCALAR_EVENT_INIT (   event,
  event_anchor,
  event_tag,
  event_value,
  event_length,
  event_plain_implicit,
  event_quoted_implicit,
  event_style,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_SCALAR_EVENT,(start_mark),(end_mark)),             \
     (event).data.scalar.anchor = (event_anchor),                               \
     (event).data.scalar.tag = (event_tag),                                     \
     (event).data.scalar.value = (event_value),                                 \
     (event).data.scalar.length = (event_length),                               \
     (event).data.scalar.plain_implicit = (event_plain_implicit),               \
     (event).data.scalar.quoted_implicit = (event_quoted_implicit),             \
     (event).data.scalar.style = (event_style))

Definition at line 557 of file yaml_private.h.

Referenced by yaml_emitter_dump_scalar(), yaml_parser_parse_node(), yaml_parser_process_empty_scalar(), and yaml_scalar_event_initialize().

#define SCALAR_NODE_INIT (   node,
  node_tag,
  node_value,
  node_length,
  node_style,
  start_mark,
  end_mark 
)
Value:
(NODE_INIT((node),YAML_SCALAR_NODE,(node_tag),(start_mark),(end_mark)),     \
     (node).data.scalar.value = (node_value),                                   \
     (node).data.scalar.length = (node_length),                                 \
     (node).data.scalar.style = (node_style))

Definition at line 621 of file yaml_private.h.

Referenced by yaml_document_add_scalar(), and yaml_parser_load_scalar().

#define SCALAR_TOKEN_INIT (   token,
  token_value,
  token_length,
  token_style,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_SCALAR_TOKEN,(start_mark),(end_mark)),             \
     (token).data.scalar.value = (token_value),                                 \
     (token).data.scalar.length = (token_length),                               \
     (token).data.scalar.style = (token_style))

Definition at line 508 of file yaml_private.h.

Referenced by yaml_parser_scan_block_scalar(), yaml_parser_scan_flow_scalar(), and yaml_parser_scan_plain_scalar().

#define SEQUENCE_END_EVENT_INIT (   event,
  start_mark,
  end_mark 
)    (EVENT_INIT((event),YAML_SEQUENCE_END_EVENT,(start_mark),(end_mark)))
#define SEQUENCE_NODE_INIT (   node,
  node_tag,
  node_items_start,
  node_items_end,
  node_style,
  start_mark,
  end_mark 
)
Value:
(NODE_INIT((node),YAML_SEQUENCE_NODE,(node_tag),(start_mark),(end_mark)),   \
     (node).data.sequence.items.start = (node_items_start),                     \
     (node).data.sequence.items.end = (node_items_end),                         \
     (node).data.sequence.items.top = (node_items_start),                       \
     (node).data.sequence.style = (node_style))

Definition at line 628 of file yaml_private.h.

Referenced by yaml_document_add_sequence(), and yaml_parser_load_sequence().

#define SEQUENCE_START_EVENT_INIT (   event,
  event_anchor,
  event_tag,
  event_implicit,
  event_style,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_SEQUENCE_START_EVENT,(start_mark),(end_mark)),     \
     (event).data.sequence_start.anchor = (event_anchor),                       \
     (event).data.sequence_start.tag = (event_tag),                             \
     (event).data.sequence_start.implicit = (event_implicit),                   \
     (event).data.sequence_start.style = (event_style))

Definition at line 568 of file yaml_private.h.

Referenced by yaml_emitter_dump_sequence(), yaml_parser_parse_node(), and yaml_sequence_start_event_initialize().

#define STACK_DEL (   context,
  stack 
)
#define STACK_EMPTY (   context,
  stack 
)    ((stack).start == (stack).top)
#define STACK_INIT (   context,
  stack,
  size 
)
Value:
(((stack).start = yaml_malloc((size)*sizeof(*(stack).start))) ?             \
        ((stack).top = (stack).start,                                           \
         (stack).end = (stack).start+(size),                                    \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 412 of file yaml_private.h.

Referenced by yaml_document_add_mapping(), yaml_document_add_sequence(), yaml_document_initialize(), yaml_document_start_event_initialize(), yaml_emitter_initialize(), yaml_parser_initialize(), yaml_parser_load(), yaml_parser_load_mapping(), yaml_parser_load_sequence(), and yaml_parser_process_directives().

#define STREAM_END_EVENT_INIT (   event,
  start_mark,
  end_mark 
)    (EVENT_INIT((event),YAML_STREAM_END_EVENT,(start_mark),(end_mark)))
#define STREAM_END_TOKEN_INIT (   token,
  start_mark,
  end_mark 
)    (TOKEN_INIT((token),YAML_STREAM_END_TOKEN,(start_mark),(end_mark)))

Definition at line 492 of file yaml_private.h.

Referenced by yaml_parser_fetch_stream_end().

#define STREAM_START_EVENT_INIT (   event,
  event_encoding,
  start_mark,
  end_mark 
)
Value:
(EVENT_INIT((event),YAML_STREAM_START_EVENT,(start_mark),(end_mark)),       \
     (event).data.stream_start.encoding = (event_encoding))

Definition at line 534 of file yaml_private.h.

Referenced by yaml_emitter_open(), yaml_parser_parse_stream_start(), and yaml_stream_start_event_initialize().

#define STREAM_START_TOKEN_INIT (   token,
  token_encoding,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_STREAM_START_TOKEN,(start_mark),(end_mark)),       \
     (token).data.stream_start.encoding = (token_encoding))

Definition at line 488 of file yaml_private.h.

Referenced by yaml_parser_fetch_stream_start().

#define STRING (   string,
  length 
)    { (string), (string)+(length), (string) }

Definition at line 117 of file yaml_private.h.

#define STRING_ASSIGN (   value,
  string,
  length 
)
#define STRING_DEL (   context,
  string 
)
#define STRING_EXTEND (   context,
  string 
)
Value:
(((string).pointer+5 < (string).end)                                        \
        || yaml_string_extend(&(string).start,                                  \
            &(string).pointer, &(string).end))

Definition at line 137 of file yaml_private.h.

Referenced by yaml_parser_scan_block_scalar(), yaml_parser_scan_flow_scalar(), yaml_parser_scan_plain_scalar(), and yaml_parser_scan_tag_uri().

#define STRING_INIT (   context,
  string,
  size 
)
Value:
(((string).start = yaml_malloc(size)) ?                                     \
        ((string).pointer = (string).start,                                     \
         (string).end = (string).start+(size),                                  \
         memset((string).start, 0, (size)),                                     \
         1) :                                                                   \
        ((context)->error = YAML_MEMORY_ERROR,                                  \
         0))

Definition at line 124 of file yaml_private.h.

Referenced by yaml_parser_scan_anchor(), yaml_parser_scan_block_scalar(), yaml_parser_scan_directive_name(), yaml_parser_scan_flow_scalar(), yaml_parser_scan_plain_scalar(), yaml_parser_scan_tag_handle(), and yaml_parser_scan_tag_uri().

#define TAG_DIRECTIVE_TOKEN_INIT (   token,
  token_handle,
  token_prefix,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_TAG_DIRECTIVE_TOKEN,(start_mark),(end_mark)),      \
     (token).data.tag_directive.handle = (token_handle),                        \
     (token).data.tag_directive.prefix = (token_prefix))

Definition at line 519 of file yaml_private.h.

Referenced by yaml_parser_scan_directive().

#define TAG_TOKEN_INIT (   token,
  token_handle,
  token_suffix,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_TAG_TOKEN,(start_mark),(end_mark)),                \
     (token).data.tag.handle = (token_handle),                                  \
     (token).data.tag.suffix = (token_suffix))

Definition at line 503 of file yaml_private.h.

Referenced by yaml_parser_scan_tag().

#define TOKEN_INIT (   token,
  token_type,
  token_start_mark,
  token_end_mark 
)
#define VERSION_DIRECTIVE_TOKEN_INIT (   token,
  token_major,
  token_minor,
  start_mark,
  end_mark 
)
Value:
(TOKEN_INIT((token),YAML_VERSION_DIRECTIVE_TOKEN,(start_mark),(end_mark)),  \
     (token).data.version_directive.major = (token_major),                      \
     (token).data.version_directive.minor = (token_minor))

Definition at line 514 of file yaml_private.h.

Referenced by yaml_parser_scan_directive().

#define WIDTH (   string)    WIDTH_AT((string),0)

Definition at line 374 of file yaml_private.h.

Referenced by yaml_emitter_analyze_scalar(), and yaml_emitter_write_tag_content().

#define WIDTH_AT (   string,
  offset 
)
Value:
(((string).pointer[offset] & 0x80) == 0x00 ? 1 :                           \
      ((string).pointer[offset] & 0xE0) == 0xC0 ? 2 :                           \
      ((string).pointer[offset] & 0xF0) == 0xE0 ? 3 :                           \
      ((string).pointer[offset] & 0xF8) == 0xF0 ? 4 : 0)

Definition at line 368 of file yaml_private.h.

Referenced by yaml_emitter_write_folded_scalar().


Function Documentation

yaml_free ( void *  ptr)
yaml_malloc ( size_t  size)
yaml_parser_update_buffer ( yaml_parser_t parser,
size_t  length 
)
yaml_queue_extend ( void **  start,
void **  head,
void **  tail,
void **  end 
)

Definition at line 136 of file api.c.

References memmove(), and yaml_realloc().

yaml_realloc ( void *  ptr,
size_t  size 
)

Definition at line 41 of file api.c.

References malloc, and realloc.

Referenced by yaml_queue_extend(), yaml_stack_extend(), and yaml_string_extend().

yaml_stack_extend ( void **  start,
void **  top,
void **  end 
)

Definition at line 118 of file api.c.

References yaml_realloc().

yaml_string_extend ( yaml_char_t **  start,
yaml_char_t **  pointer,
yaml_char_t **  end 
)

Definition at line 74 of file api.c.

References yaml_realloc().

Referenced by yaml_parser_scan_tag_uri(), and yaml_string_join().

yaml_string_join ( yaml_char_t **  a_start,
yaml_char_t **  a_pointer,
yaml_char_t **  a_end,
yaml_char_t **  b_start,
yaml_char_t **  b_pointer,
yaml_char_t **  b_end 
)

Definition at line 95 of file api.c.

References yaml_string_extend().