Ruby  2.4.2p198(2017-09-14revision59899)
Macros | Functions
emitter.c File Reference
#include "yaml_private.h"
Include dependency graph for emitter.c:

Go to the source code of this file.

Macros

#define FLUSH(emitter)
 
#define PUT(emitter, value)
 
#define PUT_BREAK(emitter)
 
#define WRITE(emitter, string)
 
#define WRITE_BREAK(emitter, string)
 

Functions

 yaml_emitter_emit (yaml_emitter_t *emitter, yaml_event_t *event)
 Emit an event. More...
 
static int yaml_emitter_set_emitter_error (yaml_emitter_t *emitter, const char *problem)
 
static int yaml_emitter_need_more_events (yaml_emitter_t *emitter)
 
static int yaml_emitter_append_tag_directive (yaml_emitter_t *emitter, yaml_tag_directive_t value, int allow_duplicates)
 
static int yaml_emitter_increase_indent (yaml_emitter_t *emitter, int flow, int indentless)
 
static int yaml_emitter_state_machine (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_stream_start (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_document_start (yaml_emitter_t *emitter, yaml_event_t *event, int first)
 
static int yaml_emitter_emit_document_content (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_document_end (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_flow_sequence_item (yaml_emitter_t *emitter, yaml_event_t *event, int first)
 
static int yaml_emitter_emit_flow_mapping_key (yaml_emitter_t *emitter, yaml_event_t *event, int first)
 
static int yaml_emitter_emit_flow_mapping_value (yaml_emitter_t *emitter, yaml_event_t *event, int simple)
 
static int yaml_emitter_emit_block_sequence_item (yaml_emitter_t *emitter, yaml_event_t *event, int first)
 
static int yaml_emitter_emit_block_mapping_key (yaml_emitter_t *emitter, yaml_event_t *event, int first)
 
static int yaml_emitter_emit_block_mapping_value (yaml_emitter_t *emitter, yaml_event_t *event, int simple)
 
static int yaml_emitter_emit_node (yaml_emitter_t *emitter, yaml_event_t *event, int root, int sequence, int mapping, int simple_key)
 
static int yaml_emitter_emit_alias (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_scalar (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_sequence_start (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_emit_mapping_start (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_check_empty_document (yaml_emitter_t *emitter)
 
static int yaml_emitter_check_empty_sequence (yaml_emitter_t *emitter)
 
static int yaml_emitter_check_empty_mapping (yaml_emitter_t *emitter)
 
static int yaml_emitter_check_simple_key (yaml_emitter_t *emitter)
 
static int yaml_emitter_select_scalar_style (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_process_anchor (yaml_emitter_t *emitter)
 
static int yaml_emitter_process_tag (yaml_emitter_t *emitter)
 
static int yaml_emitter_process_scalar (yaml_emitter_t *emitter)
 
static int yaml_emitter_analyze_version_directive (yaml_emitter_t *emitter, yaml_version_directive_t version_directive)
 
static int yaml_emitter_analyze_tag_directive (yaml_emitter_t *emitter, yaml_tag_directive_t tag_directive)
 
static int yaml_emitter_analyze_anchor (yaml_emitter_t *emitter, yaml_char_t *anchor, int alias)
 
static int yaml_emitter_analyze_tag (yaml_emitter_t *emitter, yaml_char_t *tag)
 
static int yaml_emitter_analyze_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
 
static int yaml_emitter_analyze_event (yaml_emitter_t *emitter, yaml_event_t *event)
 
static int yaml_emitter_write_bom (yaml_emitter_t *emitter)
 
static int yaml_emitter_write_indent (yaml_emitter_t *emitter)
 
static int yaml_emitter_write_indicator (yaml_emitter_t *emitter, char *indicator, int need_whitespace, int is_whitespace, int is_indention)
 
static int yaml_emitter_write_anchor (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
 
static int yaml_emitter_write_tag_handle (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
 
static int yaml_emitter_write_tag_content (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int need_whitespace)
 
static int yaml_emitter_write_plain_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int allow_breaks)
 
static int yaml_emitter_write_single_quoted_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int allow_breaks)
 
static int yaml_emitter_write_double_quoted_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length, int allow_breaks)
 
static int yaml_emitter_write_block_scalar_hints (yaml_emitter_t *emitter, yaml_string_t string)
 
static int yaml_emitter_write_literal_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
 
static int yaml_emitter_write_folded_scalar (yaml_emitter_t *emitter, yaml_char_t *value, size_t length)
 

Macro Definition Documentation

◆ FLUSH

#define FLUSH (   emitter)
Value:
((emitter->buffer.pointer+5 < emitter->buffer.end) \
|| yaml_emitter_flush(emitter))
yaml_emitter_flush(yaml_emitter_t *emitter)
Flush the accumulated characters to the output.
Definition: writer.c:32

Definition at line 8 of file emitter.c.

Referenced by yaml_emitter_write_bom().

◆ PUT

#define PUT (   emitter,
  value 
)
Value:
(FLUSH(emitter) \
&& (*(emitter->buffer.pointer++) = (yaml_char_t)(value), \
emitter->column ++, \
1))
#define FLUSH(emitter)
Definition: emitter.c:8
unsigned char yaml_char_t
The character type (UTF-8 octet).
Definition: yaml.h:78

Definition at line 16 of file emitter.c.

Referenced by yaml_emitter_write_double_quoted_scalar(), yaml_emitter_write_indent(), yaml_emitter_write_indicator(), yaml_emitter_write_plain_scalar(), yaml_emitter_write_single_quoted_scalar(), yaml_emitter_write_tag_content(), and yaml_emitter_write_tag_handle().

◆ PUT_BREAK

#define PUT_BREAK (   emitter)
Value:
(FLUSH(emitter) \
&& ((emitter->line_break == YAML_CR_BREAK ? \
(*(emitter->buffer.pointer++) = (yaml_char_t) '\r') : \
emitter->line_break == YAML_LN_BREAK ? \
(*(emitter->buffer.pointer++) = (yaml_char_t) '\n') : \
emitter->line_break == YAML_CRLN_BREAK ? \
(*(emitter->buffer.pointer++) = (yaml_char_t) '\r', \
*(emitter->buffer.pointer++) = (yaml_char_t) '\n') : 0), \
emitter->column = 0, \
emitter->line ++, \
1))
Use LN for line breaks (Unix style).
Definition: yaml.h:116
#define FLUSH(emitter)
Definition: emitter.c:8
Use CR LN for line breaks (DOS style).
Definition: yaml.h:118
unsigned char yaml_char_t
The character type (UTF-8 octet).
Definition: yaml.h:78
Use CR for line breaks (Mac style).
Definition: yaml.h:114

Definition at line 26 of file emitter.c.

Referenced by yaml_emitter_write_folded_scalar(), yaml_emitter_write_indent(), yaml_emitter_write_literal_scalar(), yaml_emitter_write_plain_scalar(), and yaml_emitter_write_single_quoted_scalar().

◆ WRITE

#define WRITE (   emitter,
  string 
)

◆ WRITE_BREAK

#define WRITE_BREAK (   emitter,
  string 
)
Value:
(FLUSH(emitter) \
&& (CHECK(string,'\n') ? \
(PUT_BREAK(emitter), \
string.pointer ++, \
1) : \
(COPY(emitter->buffer,string), \
emitter->column = 0, \
emitter->line ++, \
1)))
#define FLUSH(emitter)
Definition: emitter.c:8
#define PUT_BREAK(emitter)
Definition: emitter.c:26
#define COPY(string_a, string_b)
Definition: yaml_private.h:400
#define CHECK(sub)
Definition: compile.c:408

Definition at line 53 of file emitter.c.

Referenced by yaml_emitter_write_folded_scalar(), yaml_emitter_write_literal_scalar(), yaml_emitter_write_plain_scalar(), and yaml_emitter_write_single_quoted_scalar().

Function Documentation

◆ yaml_emitter_analyze_anchor()

static int yaml_emitter_analyze_anchor ( yaml_emitter_t emitter,
yaml_char_t anchor,
int  alias 
)
static

◆ yaml_emitter_analyze_event()

static int yaml_emitter_analyze_event ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_analyze_scalar()

static int yaml_emitter_analyze_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
)
static

◆ yaml_emitter_analyze_tag()

static int yaml_emitter_analyze_tag ( yaml_emitter_t emitter,
yaml_char_t tag 
)
static

◆ yaml_emitter_analyze_tag_directive()

static int yaml_emitter_analyze_tag_directive ( yaml_emitter_t emitter,
yaml_tag_directive_t  tag_directive 
)
static

◆ yaml_emitter_analyze_version_directive()

static int yaml_emitter_analyze_version_directive ( yaml_emitter_t emitter,
yaml_version_directive_t  version_directive 
)
static

◆ yaml_emitter_append_tag_directive()

static int yaml_emitter_append_tag_directive ( yaml_emitter_t emitter,
yaml_tag_directive_t  value,
int  allow_duplicates 
)
static

◆ yaml_emitter_check_empty_document()

static int yaml_emitter_check_empty_document ( yaml_emitter_t emitter)
static

Definition at line 1090 of file emitter.c.

Referenced by yaml_emitter_emit_document_start().

◆ yaml_emitter_check_empty_mapping()

static int yaml_emitter_check_empty_mapping ( yaml_emitter_t emitter)
static

◆ yaml_emitter_check_empty_sequence()

static int yaml_emitter_check_empty_sequence ( yaml_emitter_t emitter)
static

◆ yaml_emitter_check_simple_key()

static int yaml_emitter_check_simple_key ( yaml_emitter_t emitter)
static

◆ yaml_emitter_emit_alias()

static int yaml_emitter_emit_alias ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_emit_block_mapping_key()

static int yaml_emitter_emit_block_mapping_key ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
)
static

◆ yaml_emitter_emit_block_mapping_value()

static int yaml_emitter_emit_block_mapping_value ( yaml_emitter_t emitter,
yaml_event_t event,
int  simple 
)
static

◆ yaml_emitter_emit_block_sequence_item()

static int yaml_emitter_emit_block_sequence_item ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
)
static

◆ yaml_emitter_emit_document_content()

static int yaml_emitter_emit_document_content ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_emit_document_end()

static int yaml_emitter_emit_document_end ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_emit_document_start()

static int yaml_emitter_emit_document_start ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
)
static

◆ yaml_emitter_emit_flow_mapping_key()

static int yaml_emitter_emit_flow_mapping_key ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
)
static

◆ yaml_emitter_emit_flow_mapping_value()

static int yaml_emitter_emit_flow_mapping_value ( yaml_emitter_t emitter,
yaml_event_t event,
int  simple 
)
static

◆ yaml_emitter_emit_flow_sequence_item()

static int yaml_emitter_emit_flow_sequence_item ( yaml_emitter_t emitter,
yaml_event_t event,
int  first 
)
static

◆ yaml_emitter_emit_mapping_start()

static int yaml_emitter_emit_mapping_start ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_emit_node()

static int yaml_emitter_emit_node ( yaml_emitter_t emitter,
yaml_event_t event,
int  root,
int  sequence,
int  mapping,
int  simple_key 
)
static

◆ yaml_emitter_emit_scalar()

static int yaml_emitter_emit_scalar ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_emit_sequence_start()

static int yaml_emitter_emit_sequence_start ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_emit_stream_start()

static int yaml_emitter_emit_stream_start ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_increase_indent()

static int yaml_emitter_increase_indent ( yaml_emitter_t emitter,
int  flow,
int  indentless 
)
static

◆ yaml_emitter_need_more_events()

static int yaml_emitter_need_more_events ( yaml_emitter_t emitter)
static

◆ yaml_emitter_process_anchor()

static int yaml_emitter_process_anchor ( yaml_emitter_t emitter)
static

◆ yaml_emitter_process_scalar()

static int yaml_emitter_process_scalar ( yaml_emitter_t emitter)
static

◆ yaml_emitter_process_tag()

static int yaml_emitter_process_tag ( yaml_emitter_t emitter)
static

◆ yaml_emitter_select_scalar_style()

static int yaml_emitter_select_scalar_style ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_set_emitter_error()

static int yaml_emitter_set_emitter_error ( yaml_emitter_t emitter,
const char *  problem 
)
static

◆ yaml_emitter_state_machine()

static int yaml_emitter_state_machine ( yaml_emitter_t emitter,
yaml_event_t event 
)
static

◆ yaml_emitter_write_anchor()

static int yaml_emitter_write_anchor ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
)
static

◆ yaml_emitter_write_block_scalar_hints()

static int yaml_emitter_write_block_scalar_hints ( yaml_emitter_t emitter,
yaml_string_t  string 
)
static

◆ yaml_emitter_write_bom()

static int yaml_emitter_write_bom ( yaml_emitter_t emitter)
static

Definition at line 1754 of file emitter.c.

References yaml_emitter_s::buffer, and FLUSH.

Referenced by yaml_emitter_emit_stream_start().

◆ yaml_emitter_write_double_quoted_scalar()

static int yaml_emitter_write_double_quoted_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  allow_breaks 
)
static

◆ yaml_emitter_write_folded_scalar()

static int yaml_emitter_write_folded_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
)
static

◆ yaml_emitter_write_indent()

static int yaml_emitter_write_indent ( yaml_emitter_t emitter)
static

◆ yaml_emitter_write_indicator()

static int yaml_emitter_write_indicator ( yaml_emitter_t emitter,
char *  indicator,
int  need_whitespace,
int  is_whitespace,
int  is_indention 
)
static

◆ yaml_emitter_write_literal_scalar()

static int yaml_emitter_write_literal_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
)
static

◆ yaml_emitter_write_plain_scalar()

static int yaml_emitter_write_plain_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  allow_breaks 
)
static

◆ yaml_emitter_write_single_quoted_scalar()

static int yaml_emitter_write_single_quoted_scalar ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  allow_breaks 
)
static

◆ yaml_emitter_write_tag_content()

static int yaml_emitter_write_tag_content ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length,
int  need_whitespace 
)
static

◆ yaml_emitter_write_tag_handle()

static int yaml_emitter_write_tag_handle ( yaml_emitter_t emitter,
yaml_char_t value,
size_t  length 
)
static