Ruby  1.9.3p448(2013-06-27revision41675)
Macros | Functions | Variables
emitter.c File Reference
#include "ruby/ruby.h"
#include <stdio.h>
#include <string.h>
#include "syck.h"

Go to the source code of this file.

Macros

#define DEFAULT_ANCHOR_FORMAT   "id%03d"
 
#define SCAN_NONE   0
 
#define SCAN_NONPRINT   1
 
#define SCAN_INDENTED   2
 
#define SCAN_WIDE   4
 
#define SCAN_WHITEEDGE   8
 
#define SCAN_NEWLINE   16
 
#define SCAN_SINGLEQ   32
 
#define SCAN_DOUBLEQ   64
 
#define SCAN_INDIC_S   128
 
#define SCAN_INDIC_C   256
 
#define SCAN_NONL_E   512
 
#define SCAN_MANYNL_E   1024
 
#define SCAN_FLOWMAP   2048
 
#define SCAN_FLOWSEQ   4096
 
#define SCAN_DOCSEP   8192
 

Functions

char * syck_base64enc (char *s, long len)
 
char * syck_base64dec (char *s, long len)
 
SyckEmittersyck_new_emitter (void)
 
int syck_st_free_anchors (char *key, char *name, char *arg)
 
void syck_emitter_st_free (SyckEmitter *e)
 
SyckLevelsyck_emitter_current_level (SyckEmitter *e)
 
SyckLevelsyck_emitter_parent_level (SyckEmitter *e)
 
void syck_emitter_pop_level (SyckEmitter *e)
 
void syck_emitter_add_level (SyckEmitter *e, int len, enum syck_level_status status)
 
void syck_emitter_reset_levels (SyckEmitter *e)
 
void syck_emitter_handler (SyckEmitter *e, SyckEmitterHandler hdlr)
 
void syck_output_handler (SyckEmitter *e, SyckOutputHandler hdlr)
 
void syck_free_emitter (SyckEmitter *e)
 
void syck_emitter_clear (SyckEmitter *e)
 
void syck_emitter_write (SyckEmitter *e, const char *str, long len)
 
void syck_emitter_flush (SyckEmitter *e, long check_room)
 
void syck_emit (SyckEmitter *e, st_data_t n)
 
void syck_emit_tag (SyckEmitter *e, const char *tag, const char *ignore)
 
void syck_emit_indent (SyckEmitter *e)
 
int syck_scan_scalar (int req_width, const char *cursor, long len)
 
void syck_emit_scalar (SyckEmitter *e, const char *tag, enum scalar_style force_style, int force_indent, int force_width, char keep_nl, const char *str, long len)
 
void syck_emitter_escape (SyckEmitter *e, const char *src, long len)
 
void syck_emit_1quoted (SyckEmitter *e, int width, const char *str, long len)
 
void syck_emit_2quoted (SyckEmitter *e, int width, const char *str, long len)
 
void syck_emit_literal (SyckEmitter *e, char keep_nl, const char *str, long len)
 
void syck_emit_folded (SyckEmitter *e, int width, char keep_nl, const char *str, long len)
 
void syck_emit_seq (SyckEmitter *e, const char *tag, enum seq_style style)
 
void syck_emit_map (SyckEmitter *e, const char *tag, enum map_style style)
 
void syck_emit_item (SyckEmitter *e, st_data_t n)
 
void syck_emit_end (SyckEmitter *e)
 
SYMID syck_emitter_mark_node (SyckEmitter *e, st_data_t n)
 

Variables

const char hex_table []
 
static char b64_table []
 

Macro Definition Documentation

#define DEFAULT_ANCHOR_FORMAT   "id%03d"

Definition at line 18 of file emitter.c.

Referenced by syck_emitter_mark_node().

#define SCAN_DOCSEP   8192

Definition at line 535 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_DOUBLEQ   64

Definition at line 521 of file emitter.c.

Referenced by syck_scan_scalar().

#define SCAN_FLOWMAP   2048

Definition at line 531 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_FLOWSEQ   4096

Definition at line 533 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_INDENTED   2

Definition at line 511 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_INDIC_C   256

Definition at line 525 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_INDIC_S   128

Definition at line 523 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_MANYNL_E   1024

Definition at line 529 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_NEWLINE   16

Definition at line 517 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_NONE   0

Definition at line 507 of file emitter.c.

Referenced by syck_scan_scalar().

#define SCAN_NONL_E   512

Definition at line 527 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_NONPRINT   1

Definition at line 509 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_SINGLEQ   32

Definition at line 519 of file emitter.c.

Referenced by syck_scan_scalar().

#define SCAN_WHITEEDGE   8

Definition at line 515 of file emitter.c.

Referenced by syck_emit_scalar(), and syck_scan_scalar().

#define SCAN_WIDE   4

Definition at line 513 of file emitter.c.

Referenced by syck_scan_scalar().

Function Documentation

char* syck_base64dec ( char *  s,
long  len 
)

Definition at line 60 of file emitter.c.

References b64_table, i, len, and syck_strndup().

char* syck_base64enc ( char *  s,
long  len 
)

Definition at line 29 of file emitter.c.

References b64_table, i, and S_ALLOC_N.

void syck_emit ( SyckEmitter e,
st_data_t  n 
)
void syck_emit_1quoted ( SyckEmitter e,
int  width,
const char *  str,
long  len 
)

Definition at line 806 of file emitter.c.

References mark(), syck_emit_indent(), and syck_emitter_write().

Referenced by syck_emit_scalar().

void syck_emit_2quoted ( SyckEmitter e,
int  width,
const char *  str,
long  len 
)

Definition at line 854 of file emitter.c.

References mark(), syck_emit_indent(), syck_emitter_escape(), and syck_emitter_write().

Referenced by syck_emit_scalar().

void syck_emit_end ( SyckEmitter e)
void syck_emit_folded ( SyckEmitter e,
int  width,
char  keep_nl,
const char *  str,
long  len 
)
void syck_emit_indent ( SyckEmitter e)
void syck_emit_item ( SyckEmitter e,
st_data_t  n 
)
void syck_emit_literal ( SyckEmitter e,
char  keep_nl,
const char *  str,
long  len 
)

Definition at line 915 of file emitter.c.

References len, mark(), NL_CHOMP, NL_KEEP, syck_emit_indent(), and syck_emitter_write().

Referenced by syck_emit_scalar().

void syck_emit_map ( SyckEmitter e,
const char *  tag,
enum map_style  style 
)
void syck_emit_scalar ( SyckEmitter e,
const char *  tag,
enum scalar_style  force_style,
int  force_indent,
int  force_width,
char  keep_nl,
const char *  str,
long  len 
)
void syck_emit_seq ( SyckEmitter e,
const char *  tag,
enum seq_style  style 
)
void syck_emit_tag ( SyckEmitter e,
const char *  tag,
const char *  ignore 
)
void syck_emitter_add_level ( SyckEmitter e,
int  len,
enum syck_level_status  status 
)
void syck_emitter_clear ( SyckEmitter e)
SyckLevel* syck_emitter_current_level ( SyckEmitter e)
void syck_emitter_escape ( SyckEmitter e,
const char *  src,
long  len 
)

Definition at line 776 of file emitter.c.

References hex_table, i, len, and syck_emitter_write().

Referenced by syck_emit_2quoted().

void syck_emitter_flush ( SyckEmitter e,
long  check_room 
)
void syck_emitter_handler ( SyckEmitter e,
SyckEmitterHandler  hdlr 
)

Definition at line 239 of file emitter.c.

References _syck_emitter::emitter_handler.

Referenced by syck_emitter_s_alloc().

SYMID syck_emitter_mark_node ( SyckEmitter e,
st_data_t  n 
)
SyckLevel* syck_emitter_parent_level ( SyckEmitter e)
void syck_emitter_pop_level ( SyckEmitter e)
void syck_emitter_reset_levels ( SyckEmitter e)
void syck_emitter_st_free ( SyckEmitter e)
void syck_emitter_write ( SyckEmitter e,
const char *  str,
long  len 
)
void syck_free_emitter ( SyckEmitter e)
SyckEmitter* syck_new_emitter ( void  )
void syck_output_handler ( SyckEmitter e,
SyckOutputHandler  hdlr 
)

Definition at line 245 of file emitter.c.

References _syck_emitter::output_handler.

Referenced by syck_emitter_s_alloc().

int syck_scan_scalar ( int  req_width,
const char *  cursor,
long  len 
)
int syck_st_free_anchors ( char *  key,
char *  name,
char *  arg 
)

Definition at line 141 of file emitter.c.

References S_FREE, and ST_CONTINUE.

Referenced by syck_emitter_st_free().

Variable Documentation

char b64_table[]
static
Initial value:
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Definition at line 22 of file emitter.c.

Referenced by syck_base64dec(), and syck_base64enc().

const char hex_table[]
Initial value:
=
"0123456789ABCDEF"

Definition at line 20 of file emitter.c.

Referenced by syck_emitter_escape().