Ruby  1.9.3p551(2014-11-13revision48407)
Data Structures | Functions
syck.c File Reference
#include "ruby/ruby.h"
#include <stdio.h>
#include <string.h>
#include "syck.h"

Go to the source code of this file.

Data Structures

struct  bytestring_t
 

Functions

void syck_parser_pop_level (SyckParser *)
 
void syck_assert (const char *file_name, unsigned line_num, const char *expr)
 
char * syck_strndup (const char *buf, long len)
 
long syck_io_file_read (char *buf, SyckIoFile *file, long max_size, long skip)
 
long syck_io_str_read (char *buf, SyckIoStr *str, long max_size, long skip)
 
void syck_parser_reset_levels (SyckParser *p)
 
void syck_parser_reset_cursor (SyckParser *p)
 
void syck_parser_set_root_on_error (SyckParser *p, SYMID roer)
 
SyckParsersyck_new_parser (void)
 
int syck_add_sym (SyckParser *p, void *data)
 
int syck_lookup_sym (SyckParser *p, SYMID id, void **datap)
 
int syck_st_free_nodes (char *key, SyckNode *n, char *arg)
 
void syck_st_free (SyckParser *p)
 
int syck_st_free_syms (void *key, bytestring_t *sav, void *dummy)
 
void syck_free_parser (SyckParser *p)
 
void syck_parser_handler (SyckParser *p, SyckNodeHandler hdlr)
 
void syck_parser_implicit_typing (SyckParser *p, int flag)
 
void syck_parser_taguri_expansion (SyckParser *p, int flag)
 
void syck_parser_error_handler (SyckParser *p, SyckErrorHandler hdlr)
 
void syck_parser_bad_anchor_handler (SyckParser *p, SyckBadAnchorHandler hdlr)
 
void syck_parser_set_input_type (SyckParser *p, enum syck_parser_input input_type)
 
void syck_parser_file (SyckParser *p, FILE *fp, SyckIoFileRead read)
 
void syck_parser_str (SyckParser *p, char *ptr, long len, SyckIoStrRead read)
 
void syck_parser_str_auto (SyckParser *p, char *ptr, SyckIoStrRead read)
 
SyckLevelsyck_parser_current_level (SyckParser *p)
 
void syck_parser_add_level (SyckParser *p, int len, enum syck_level_status status)
 
void free_any_io (SyckParser *p)
 
long syck_move_tokens (SyckParser *p)
 
void syck_check_limit (SyckParser *p, long len)
 
long syck_parser_read (SyckParser *p)
 
long syck_parser_readlen (SyckParser *p, long max_size)
 
SYMID syck_parse (SyckParser *p)
 
void syck_default_error_handler (SyckParser *p, const char *msg)
 

Function Documentation

◆ free_any_io()

void free_any_io ( SyckParser p)

Definition at line 400 of file syck.c.

References ASSERT, NULL, p, S_FREE, syck_io_file, and syck_io_str.

Referenced by syck_free_parser(), syck_parser_file(), and syck_parser_str().

◆ syck_add_sym()

int syck_add_sym ( SyckParser p,
void *  data 
)

Definition at line 180 of file syck.c.

References emitter_xtra::data, id, NULL, p, st_init_numtable, st_insert, and SYMID.

Referenced by syck_yaml2byte_handler().

◆ syck_assert()

void syck_assert ( const char *  file_name,
unsigned  line_num,
const char *  expr 
)

Definition at line 21 of file syck.c.

References NULL.

◆ syck_check_limit()

void syck_check_limit ( SyckParser p,
long  len 
)

Definition at line 449 of file syck.c.

References len, NULL, and p.

Referenced by syck_parser_read(), and syck_parser_readlen().

◆ syck_default_error_handler()

void syck_default_error_handler ( SyckParser p,
const char *  msg 
)

Definition at line 517 of file syck.c.

References msg, p, and PRIdPTRDIFF.

Referenced by syckerror().

◆ syck_free_parser()

void syck_free_parser ( SyckParser p)

◆ syck_io_file_read()

long syck_io_file_read ( char *  buf,
SyckIoFile file,
long  max_size,
long  skip 
)

Definition at line 46 of file syck.c.

References ASSERT, buf, len, NULL, and _syck_file::ptr.

Referenced by syck_parser_file().

◆ syck_io_str_read()

long syck_io_str_read ( char *  buf,
SyckIoStr str,
long  max_size,
long  skip 
)

Definition at line 64 of file syck.c.

References ASSERT, buf, _syck_str::end, len, NULL, _syck_str::ptr, and S_MEMCPY.

Referenced by syck_parser_str().

◆ syck_lookup_sym()

int syck_lookup_sym ( SyckParser p,
SYMID  id,
void **  datap 
)

Definition at line 193 of file syck.c.

References emitter_xtra::data, NULL, p, and st_lookup.

Referenced by rb_syck_compile(), syck_yaml2byte(), and syck_yaml2byte_handler().

◆ syck_move_tokens()

long syck_move_tokens ( SyckParser p)

Definition at line 424 of file syck.c.

References ASSERT, count, NULL, p, and S_MEMMOVE.

Referenced by syck_parser_read(), and syck_parser_readlen().

◆ syck_new_parser()

SyckParser* syck_new_parser ( void  )

◆ syck_parse()

SYMID syck_parse ( SyckParser p)

◆ syck_parser_add_level()

void syck_parser_add_level ( SyckParser p,
int  len,
enum syck_level_status  status 
)

Definition at line 382 of file syck.c.

References ALLOC_CT, ASSERT, len, NULL, p, S_REALLOC_N, strlen(), and syck_strndup().

◆ syck_parser_bad_anchor_handler()

void syck_parser_bad_anchor_handler ( SyckParser p,
SyckBadAnchorHandler  hdlr 
)

Definition at line 304 of file syck.c.

References ASSERT, NULL, and p.

Referenced by syck_set_model().

◆ syck_parser_current_level()

SyckLevel* syck_parser_current_level ( SyckParser p)

Definition at line 364 of file syck.c.

References p.

◆ syck_parser_error_handler()

void syck_parser_error_handler ( SyckParser p,
SyckErrorHandler  hdlr 
)

Definition at line 297 of file syck.c.

References ASSERT, NULL, and p.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

◆ syck_parser_file()

void syck_parser_file ( SyckParser p,
FILE fp,
SyckIoFileRead  read 
)

◆ syck_parser_handler()

void syck_parser_handler ( SyckParser p,
SyckNodeHandler  hdlr 
)

Definition at line 278 of file syck.c.

References ASSERT, NULL, and p.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

◆ syck_parser_implicit_typing()

void syck_parser_implicit_typing ( SyckParser p,
int  flag 
)

Definition at line 285 of file syck.c.

References p.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

◆ syck_parser_pop_level()

void syck_parser_pop_level ( SyckParser p)

Definition at line 370 of file syck.c.

References ASSERT, free(), NULL, and p.

Referenced by syck_parser_reset_levels().

◆ syck_parser_read()

long syck_parser_read ( SyckParser p)

◆ syck_parser_readlen()

long syck_parser_readlen ( SyckParser p,
long  max_size 
)

Definition at line 484 of file syck.c.

References ASSERT, len, NULL, p, syck_check_limit(), syck_io_file, syck_io_str, and syck_move_tokens().

◆ syck_parser_reset_cursor()

void syck_parser_reset_cursor ( SyckParser p)

Definition at line 119 of file syck.c.

References NULL, p, S_ALLOC_N, and S_MEMZERO.

Referenced by syck_parser_file(), and syck_parser_str().

◆ syck_parser_reset_levels()

void syck_parser_reset_levels ( SyckParser p)

Definition at line 101 of file syck.c.

References p, syck_lvl_header, syck_parser_pop_level(), and syck_strndup().

Referenced by syck_free_parser(), syck_new_parser(), and syck_parse().

◆ syck_parser_set_input_type()

void syck_parser_set_input_type ( SyckParser p,
enum syck_parser_input  input_type 
)

Definition at line 311 of file syck.c.

References ASSERT, NULL, and p.

Referenced by syck_set_model().

◆ syck_parser_set_root_on_error()

void syck_parser_set_root_on_error ( SyckParser p,
SYMID  roer 
)

Definition at line 148 of file syck.c.

References p.

Referenced by syck_parser_s_alloc().

◆ syck_parser_str()

void syck_parser_str ( SyckParser p,
char *  ptr,
long  len,
SyckIoStrRead  read 
)

◆ syck_parser_str_auto()

void syck_parser_str_auto ( SyckParser p,
char *  ptr,
SyckIoStrRead  read 
)

Definition at line 358 of file syck.c.

References p, strlen(), and syck_parser_str().

Referenced by syck_yaml2byte().

◆ syck_parser_taguri_expansion()

void syck_parser_taguri_expansion ( SyckParser p,
int  flag 
)

Definition at line 291 of file syck.c.

References p.

Referenced by rb_syck_compile(), syck_set_model(), and syck_yaml2byte().

◆ syck_st_free()

void syck_st_free ( SyckParser p)

Definition at line 212 of file syck.c.

References NULL, p, st_foreach, st_free_table, and syck_st_free_nodes().

Referenced by syck_free_parser(), and syck_parse().

◆ syck_st_free_nodes()

int syck_st_free_nodes ( char *  key,
SyckNode n,
char *  arg 
)

Definition at line 204 of file syck.c.

References NULL, ST_CONTINUE, and syck_free_node().

Referenced by syck_st_free().

◆ syck_st_free_syms()

int syck_st_free_syms ( void *  key,
bytestring_t sav,
void *  dummy 
)

Definition at line 241 of file syck.c.

References bytestring_t::buffer, S_FREE, and ST_CONTINUE.

Referenced by syck_free_parser().

◆ syck_strndup()

char* syck_strndup ( const char *  buf,
long  len 
)