summaryrefslogtreecommitdiff
path: root/ext/syck/syck.h
diff options
context:
space:
mode:
authorwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-05-15 21:46:47 +0000
committerwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-05-15 21:46:47 +0000
commitc601cf5318c035460250284057a62b7eddcb79fc (patch)
tree65ef3ad8b83ecd970f50ff2c9dc63ed354a0ee33 /ext/syck/syck.h
parentd8bd0ea32ed5952ea4052d48a1142f27e5c1af74 (diff)
* lib/gram.c: fixes to one-line documents and end of stream documents.
* lib/syck.c, lib/syck.h: add root_on_error to parser struct, specifying the symbol to be returned on a parse error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/syck.h')
-rw-r--r--ext/syck/syck.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/syck/syck.h b/ext/syck/syck.h
index 926060219ef..7b4f78714e6 100644
--- a/ext/syck/syck.h
+++ b/ext/syck/syck.h
@@ -10,7 +10,7 @@
#ifndef SYCK_H
#define SYCK_H
-#define SYCK_VERSION "0.28"
+#define SYCK_VERSION "0.29"
#define YAML_DOMAIN "yaml.org,2002"
#include <stdio.h>
@@ -112,6 +112,7 @@ struct _syck_node {
long len;
} *str;
} data;
+ // Shortcut node
void *shortcut;
};
@@ -142,7 +143,7 @@ enum syck_level_status {
struct _syck_parser {
// Root node
- SYMID root;
+ SYMID root, root_on_error;
// Implicit typing flag
int implicit_typing, taguri_expansion;
// Scripting language function to handle nodes
@@ -213,6 +214,7 @@ long syck_io_file_read( char *, SyckIoFile *, long, long );
long syck_io_str_read( char *, SyckIoStr *, long, long );
SyckParser *syck_new_parser();
void syck_free_parser( SyckParser * );
+void syck_parser_set_root_on_error( SyckParser *, SYMID );
void syck_parser_implicit_typing( SyckParser *, int );
void syck_parser_taguri_expansion( SyckParser *, int );
void syck_parser_handler( SyckParser *, SyckNodeHandler );
@@ -222,6 +224,7 @@ void syck_parser_str( SyckParser *, char *, long, SyckIoStrRead );
void syck_parser_str_auto( SyckParser *, char *, SyckIoStrRead );
SyckLevel *syck_parser_current_level( SyckParser * );
void syck_parser_add_level( SyckParser *, int, enum syck_level_status );
+void syck_parser_pop_level( SyckParser * );
void free_any_io( SyckParser * );
long syck_parser_read( SyckParser * );
long syck_parser_readlen( SyckParser *, long );
@@ -244,13 +247,14 @@ char *syck_str_read( SyckNode * );
SyckNode *syck_new_map( SYMID, SYMID );
void syck_map_add( SyckNode *, SYMID, SYMID );
SYMID syck_map_read( SyckNode *, enum map_part, long );
-long syck_map_count( SyckNode * );
void syck_map_assign( SyckNode *, enum map_part, long, SYMID );
+long syck_map_count( SyckNode * );
void syck_map_update( SyckNode *, SyckNode * );
SyckNode *syck_new_seq( SYMID );
void syck_seq_add( SyckNode *, SYMID );
SYMID syck_seq_read( SyckNode *, long );
long syck_seq_count( SyckNode * );
+
void apply_seq_in_map( SyckParser *, SyckNode * );
#if defined(__cplusplus)