diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-22 19:18:44 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-22 19:18:44 +0000 |
| commit | ed9097a4cb840cc158ab839b8048132fcb2a2013 (patch) | |
| tree | 3b0e6ebf649da631b442674dc434545baaa3eee7 /ext | |
| parent | cbf2c76c4f737c2741aa6733c460e8786577c1b0 (diff) | |
* ext/syck: suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@18175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/syck/emitter.c | 66 | ||||
| -rw-r--r-- | ext/syck/handler.c | 12 | ||||
| -rw-r--r-- | ext/syck/implicit.c | 9 | ||||
| -rw-r--r-- | ext/syck/node.c | 4 | ||||
| -rw-r--r-- | ext/syck/rubyext.c | 21 | ||||
| -rw-r--r-- | ext/syck/syck.c | 14 | ||||
| -rw-r--r-- | ext/syck/syck.h | 44 | ||||
| -rw-r--r-- | ext/syck/token.c | 2 | ||||
| -rw-r--r-- | ext/syck/yaml2byte.c | 13 |
9 files changed, 102 insertions, 83 deletions
diff --git a/ext/syck/emitter.c b/ext/syck/emitter.c index 9c8ab8d49b..e80c8d2e15 100644 --- a/ext/syck/emitter.c +++ b/ext/syck/emitter.c @@ -282,7 +282,7 @@ syck_emitter_clear( SyckEmitter *e ) * Raw write to the emitter buffer. */ void -syck_emitter_write( SyckEmitter *e, char *str, long len ) +syck_emitter_write( SyckEmitter *e, const char *str, long len ) { long at; ASSERT( str != NULL ) @@ -392,7 +392,7 @@ syck_emit( SyckEmitter *e, st_data_t n ) /* Look for anchor */ if ( e->anchors != NULL && st_lookup( e->markers, n, (st_data_t *)&oid ) && - st_lookup( e->anchors, (st_data_t)oid, (st_data_t *)&anchor_name ) ) + st_lookup( e->anchors, (st_data_t)oid, (void *)&anchor_name ) ) { if ( e->anchored == NULL ) { @@ -438,7 +438,7 @@ end_emit: * and the implicit tag which would be assigned to this node. If a tag is * required, write the tag. */ -void syck_emit_tag( SyckEmitter *e, char *tag, char *ignore ) +void syck_emit_tag( SyckEmitter *e, const char *tag, const char *ignore ) { SyckLevel *lvl; if ( tag == NULL ) return; @@ -457,7 +457,7 @@ void syck_emit_tag( SyckEmitter *e, char *tag, char *ignore ) int skip = 4 + strlen( YAML_DOMAIN ) + 1; syck_emitter_write( e, tag + skip, taglen - skip ); } else { - char *subd = tag + 4; + const char *subd = tag + 4; while ( *subd != ':' && *subd != '\0' ) subd++; if ( *subd == ':' ) { if ( subd - tag > ( strlen( YAML_DOMAIN ) + 5 ) && @@ -539,7 +539,7 @@ void syck_emit_indent( SyckEmitter *e ) * Basic printable test for LATIN-1 characters. */ int -syck_scan_scalar( int req_width, char *cursor, long len ) +syck_scan_scalar( int req_width, const char *cursor, long len ) { long i = 0, start = 0; int flags = SCAN_NONE; @@ -639,13 +639,14 @@ syck_scan_scalar( int req_width, char *cursor, long len ) * All scalars should be emitted through this function, which determines an appropriate style, * tag and indent. */ -void syck_emit_scalar( SyckEmitter *e, char *tag, enum scalar_style force_style, int force_indent, int force_width, - char keep_nl, char *str, 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 ) { enum scalar_style favor_style = scalar_literal; SyckLevel *parent = syck_emitter_parent_level( e ); SyckLevel *lvl = syck_emitter_current_level( e ); int scan = 0; + const char *match_implicit; char *implicit; if ( str == NULL ) str = ""; @@ -659,10 +660,10 @@ void syck_emit_scalar( SyckEmitter *e, char *tag, enum scalar_style force_style, } scan = syck_scan_scalar( force_width, str, len ); - implicit = syck_match_implicit( str, len ); + match_implicit = syck_match_implicit( str, len ); /* quote strings which default to implicits */ - implicit = syck_taguri( YAML_DOMAIN, implicit, strlen( implicit ) ); + implicit = syck_taguri( YAML_DOMAIN, match_implicit, strlen( match_implicit ) ); if ( syck_tagcmp( tag, implicit ) != 0 && syck_tagcmp( tag, "tag:yaml.org,2002:str" ) == 0 ) { force_style = scalar_2quote; } else { @@ -773,7 +774,7 @@ void syck_emit_scalar( SyckEmitter *e, char *tag, enum scalar_style force_style, } void -syck_emitter_escape( SyckEmitter *e, char *src, long len ) +syck_emitter_escape( SyckEmitter *e, const char *src, long len ) { int i; for( i = 0; i < len; i++ ) @@ -802,12 +803,13 @@ syck_emitter_escape( SyckEmitter *e, char *src, long len ) /* * Outputs a single-quoted block. */ -void syck_emit_1quoted( SyckEmitter *e, int width, char *str, long len ) +void +syck_emit_1quoted( SyckEmitter *e, int width, const char *str, long len ) { char do_indent = 0; - char *mark = str; - char *start = str; - char *end = str; + const char *mark = str; + const char *start = str; + const char *end = str; syck_emitter_write( e, "'", 1 ); while ( mark < str + len ) { if ( do_indent ) { @@ -849,12 +851,13 @@ void syck_emit_1quoted( SyckEmitter *e, int width, char *str, long len ) /* * Outputs a double-quoted block. */ -void syck_emit_2quoted( SyckEmitter *e, int width, char *str, long len ) +void +syck_emit_2quoted( SyckEmitter *e, int width, const char *str, long len ) { char do_indent = 0; - char *mark = str; - char *start = str; - char *end = str; + const char *mark = str; + const char *start = str; + const char *end = str; syck_emitter_write( e, "\"", 1 ); while ( mark < str + len ) { if ( do_indent > 0 ) { @@ -909,11 +912,12 @@ void syck_emit_2quoted( SyckEmitter *e, int width, char *str, long len ) /* * Outputs a literal block. */ -void syck_emit_literal( SyckEmitter *e, char keep_nl, char *str, long len ) +void +syck_emit_literal( SyckEmitter *e, char keep_nl, const char *str, long len ) { - char *mark = str; - char *start = str; - char *end = str; + const char *mark = str; + const char *start = str; + const char *end = str; syck_emitter_write( e, "|", 1 ); if ( keep_nl == NL_CHOMP ) { syck_emitter_write( e, "-", 1 ); @@ -944,11 +948,12 @@ void syck_emit_literal( SyckEmitter *e, char keep_nl, char *str, long len ) /* * Outputs a folded block. */ -void syck_emit_folded( SyckEmitter *e, int width, char keep_nl, char *str, long len ) +void +syck_emit_folded( SyckEmitter *e, int width, char keep_nl, const char *str, long len ) { - char *mark = str; - char *start = str; - char *end = str; + const char *mark = str; + const char *start = str; + const char *end = str; syck_emitter_write( e, ">", 1 ); if ( keep_nl == NL_CHOMP ) { syck_emitter_write( e, "-", 1 ); @@ -993,7 +998,7 @@ void syck_emit_folded( SyckEmitter *e, int width, char keep_nl, char *str, long /* * Begins emission of a sequence. */ -void syck_emit_seq( SyckEmitter *e, char *tag, enum seq_style style ) +void syck_emit_seq( SyckEmitter *e, const char *tag, enum seq_style style ) { SyckLevel *parent = syck_emitter_parent_level( e ); SyckLevel *lvl = syck_emitter_current_level( e ); @@ -1014,7 +1019,8 @@ void syck_emit_seq( SyckEmitter *e, char *tag, enum seq_style style ) /* * Begins emission of a mapping. */ -void syck_emit_map( SyckEmitter *e, char *tag, enum map_style style ) +void +syck_emit_map( SyckEmitter *e, const char *tag, enum map_style style ) { SyckLevel *parent = syck_emitter_parent_level( e ); SyckLevel *lvl = syck_emitter_current_level( e ); @@ -1218,10 +1224,10 @@ syck_emitter_mark_node( SyckEmitter *e, st_data_t n ) e->anchors = st_init_numtable(); } - if ( ! st_lookup( e->anchors, (st_data_t)oid, (st_data_t *)&anchor_name ) ) + if ( ! st_lookup( e->anchors, (st_data_t)oid, (void *)&anchor_name ) ) { int idx = 0; - char *anc = ( e->anchor_format == NULL ? DEFAULT_ANCHOR_FORMAT : e->anchor_format ); + const char *anc = ( e->anchor_format == NULL ? DEFAULT_ANCHOR_FORMAT : e->anchor_format ); /* * Second time hitting this object, let's give it an anchor diff --git a/ext/syck/handler.c b/ext/syck/handler.c index 56fe838fbd..d5889fc587 100644 --- a/ext/syck/handler.c +++ b/ext/syck/handler.c @@ -37,7 +37,7 @@ syck_hdlr_add_anchor( SyckParser *p, char *a, SyckNode *n ) if ( p->bad_anchors != NULL ) { SyckNode *bad; - if ( st_lookup( p->bad_anchors, (st_data_t)a, (st_data_t *)&bad ) ) + if ( st_lookup( p->bad_anchors, (st_data_t)a, (void *)&bad ) ) { if ( n->kind != syck_str_kind ) { @@ -50,7 +50,7 @@ syck_hdlr_add_anchor( SyckParser *p, char *a, SyckNode *n ) { p->anchors = st_init_strtable(); } - if ( st_lookup( p->anchors, (st_data_t)a, (st_data_t *)&ntmp ) ) + if ( st_lookup( p->anchors, (st_data_t)a, (void *)&ntmp ) ) { if ( ntmp != (void *)1 ) { @@ -70,7 +70,7 @@ syck_hdlr_remove_anchor( SyckParser *p, char *a ) { p->anchors = st_init_strtable(); } - if ( st_delete( p->anchors, (st_data_t *)&atmp, (st_data_t *)&ntmp ) ) + if ( st_delete( p->anchors, (void *)&atmp, (void *)&ntmp ) ) { if ( ntmp != (void *)1 ) { @@ -87,7 +87,7 @@ syck_hdlr_get_anchor( SyckParser *p, char *a ) if ( p->anchors != NULL ) { - if ( st_lookup( p->anchors, (st_data_t)a, (st_data_t *)&n ) ) + if ( st_lookup( p->anchors, (st_data_t)a, (void *)&n ) ) { if ( n != (void *)1 ) { @@ -100,7 +100,7 @@ syck_hdlr_get_anchor( SyckParser *p, char *a ) { p->bad_anchors = st_init_strtable(); } - if ( ! st_lookup( p->bad_anchors, (st_data_t)a, (st_data_t *)&n ) ) + if ( ! st_lookup( p->bad_anchors, (st_data_t)a, (void *)&n ) ) { n = (p->bad_anchor_handler)( p, a ); st_insert( p->bad_anchors, (st_data_t)a, (st_data_t)n ); @@ -155,7 +155,7 @@ syck_xprivate( char *type_id, int type_len ) } char * -syck_taguri( char *domain, char *type_id, int type_len ) +syck_taguri( const char *domain, const char *type_id, int type_len ) { char *uri = S_ALLOC_N( char, strlen( domain ) + type_len + 14 ); uri[0] = '\0'; diff --git a/ext/syck/implicit.c b/ext/syck/implicit.c index d356faf7d9..2e17da58f3 100644 --- a/ext/syck/implicit.c +++ b/ext/syck/implicit.c @@ -21,7 +21,7 @@ void try_tag_implicit( SyckNode *n, int taguri ) { - char *tid = ""; + const char *tid = ""; switch ( n->kind ) { case syck_str_kind: @@ -45,9 +45,10 @@ try_tag_implicit( SyckNode *n, int taguri ) } } -char *syck_match_implicit( char *str, size_t len ) +const char * +syck_match_implicit( const char *str, size_t len ) { - char *cursor, *limit, *marker; + const char *cursor, *limit, *marker; cursor = str; limit = str + len; @@ -1585,7 +1586,7 @@ yy201: ++YYCURSOR; /* Remove ending fragment and compare types */ int -syck_tagcmp( char *tag1, char *tag2 ) +syck_tagcmp( const char *tag1, const char *tag2 ) { if ( tag1 == tag2 ) return 1; if ( tag1 == NULL || tag2 == NULL ) return 0; diff --git a/ext/syck/node.c b/ext/syck/node.c index 28fc78c077..cbc2adb6c5 100644 --- a/ext/syck/node.c +++ b/ext/syck/node.c @@ -100,13 +100,13 @@ syck_alloc_str() } SyckNode * -syck_new_str( char *str, enum scalar_style style ) +syck_new_str( const char *str, enum scalar_style style ) { return syck_new_str2( str, strlen( str ), style ); } SyckNode * -syck_new_str2( char *str, long len, enum scalar_style style ) +syck_new_str2( const char *str, long len, enum scalar_style style ) { SyckNode *n; diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index 76e8279601..f9969a3e37 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -50,7 +50,7 @@ typedef struct { * symbols and constants */ static ID s_new, s_utc, s_at, s_to_f, s_to_i, s_read, s_binmode, s_call, s_cmp, s_transfer, s_update, s_dup, s_haskey, s_match, s_keys, s_unpack, s_tr_bang, s_default_set, s_tag_read_class, s_tag_subclasses, s_resolver, s_push, s_emitter, s_level, s_detect_implicit, s_node_import, s_out, s_input, s_intern, s_transform, s_yaml_new, s_yaml_initialize, s_node_export, s_to_yaml, s_write, s_set_resolver; -static ID s_tags, s_domain, s_kind, s_name, s_options, s_type_id, s_type_id_set, s_style, s_style_set, s_value, s_value_set; +static ID s_tags, s_kind, s_name, s_options, s_type_id, s_type_id_set, s_style, s_style_set, s_value, s_value_set; static VALUE sym_model, sym_generic, sym_input, sym_bytecode; static VALUE sym_scalar, sym_seq, sym_map; static VALUE sym_1quote, sym_2quote, sym_fold, sym_literal, sym_plain, sym_inline; @@ -71,7 +71,7 @@ static VALUE syck_node_transform( VALUE ); * handler prototypes */ SYMID rb_syck_load_handler _((SyckParser *, SyckNode *)); -void rb_syck_err_handler _((SyckParser *, char *)); +void rb_syck_err_handler _((SyckParser *, const char *)); SyckNode * rb_syck_bad_anchor_handler _((SyckParser *, char *)); void rb_syck_output_handler _((SyckEmitter *, char *, long)); void rb_syck_emitter_handler _((SyckEmitter *, st_data_t)); @@ -104,7 +104,8 @@ rb_syck_compile(self, port) int taint; char *ret; VALUE bc; - bytestring_t *sav; + bytestring_t *sav; + void *data; SyckParser *parser = syck_new_parser(); taint = syck_parser_assign_io(parser, &port); @@ -113,7 +114,7 @@ rb_syck_compile(self, port) syck_parser_implicit_typing( parser, 0 ); syck_parser_taguri_expansion( parser, 0 ); oid = syck_parse( parser ); - syck_lookup_sym( parser, oid, (char **)&sav ); + if (syck_lookup_sym( parser, oid, &data )) sav = data; ret = S_ALLOCA_N( char, strlen( sav->buffer ) + 3 ); ret[0] = '\0'; @@ -646,7 +647,7 @@ rb_syck_load_handler(p, n) void rb_syck_err_handler(p, msg) SyckParser *p; - char *msg; + const char *msg; { char *endl = p->cursor; @@ -962,7 +963,7 @@ syck_resolver_node_import( self, node ) VALUE self, node; { SyckNode *n; - VALUE obj; + VALUE obj = Qnil; int i = 0; Data_Get_Struct(node, SyckNode, n); @@ -1229,7 +1230,7 @@ VALUE syck_defaultresolver_detect_implicit( self, val ) VALUE self, val; { - char *type_id; + const char *type_id; VALUE tmp = rb_check_string_type(val); if ( !NIL_P(tmp) ) @@ -1423,6 +1424,10 @@ syck_node_mark( n ) rb_gc_mark( syck_map_read( n, map_value, i ) ); } break; + + case syck_str_kind: + /* nothing */ + break; } #if 0 /* maybe needed */ if ( n->shortcut ) syck_node_mark( n->shortcut ); /* caution: maybe cyclic */ @@ -1793,7 +1798,7 @@ syck_node_transform( self ) VALUE self; { VALUE t; - SyckNode *n; + SyckNode *n = NULL; SyckNode *orig_n; Data_Get_Struct(self, SyckNode, orig_n); t = Data_Wrap_Struct( cNode, syck_node_mark, syck_free_node, 0 ); diff --git a/ext/syck/syck.c b/ext/syck/syck.c index a83c8813c1..43c7b2d843 100644 --- a/ext/syck/syck.c +++ b/ext/syck/syck.c @@ -32,7 +32,7 @@ syck_assert( char *file_name, unsigned line_num ) * Allocates and copies a string */ char * -syck_strndup( char *buf, long len ) +syck_strndup( const char *buf, long len ) { char *new = S_ALLOC_N( char, len + 1 ); S_MEMZERO( new, char, len + 1 ); @@ -178,7 +178,7 @@ syck_new_parser() } int -syck_add_sym( SyckParser *p, char *data ) +syck_add_sym( SyckParser *p, void *data ) { SYMID id = 0; if ( p->syms == NULL ) @@ -191,10 +191,14 @@ syck_add_sym( SyckParser *p, char *data ) } int -syck_lookup_sym( SyckParser *p, SYMID id, char **data ) +syck_lookup_sym( SyckParser *p, SYMID id, void **datap ) { + st_data_t data = (st_data_t)*datap; + int ret; if ( p->syms == NULL ) return 0; - return st_lookup( p->syms, id, (st_data_t *)data ); + ret = st_lookup( p->syms, id, &data ); + *datap = (void *)data; + return ret; } int @@ -494,7 +498,7 @@ syck_parse( SyckParser *p ) } void -syck_default_error_handler( SyckParser *p, char *msg ) +syck_default_error_handler( SyckParser *p, const char *msg ) { printf( "Error at [Line %d, Col %d]: %s\n", p->linect, diff --git a/ext/syck/syck.h b/ext/syck/syck.h index e7d07e9c0d..9d595f8c09 100644 --- a/ext/syck/syck.h +++ b/ext/syck/syck.h @@ -156,7 +156,7 @@ typedef struct _syck_str SyckIoStr; typedef struct _syck_level SyckLevel; typedef SYMID (*SyckNodeHandler)(SyckParser *, SyckNode *); -typedef void (*SyckErrorHandler)(SyckParser *, char *); +typedef void (*SyckErrorHandler)(SyckParser *, const char *); typedef SyckNode * (*SyckBadAnchorHandler)(SyckParser *, char *); typedef long (*SyckIoFileRead)(char *, SyckIoFile *, long, long); typedef long (*SyckIoStrRead)(char *, SyckIoStr *, long, long); @@ -347,19 +347,19 @@ void syck_hdlr_remove_anchor( SyckParser *, char * ); SyckNode *syck_hdlr_get_anchor( SyckParser *, char * ); void syck_add_transfer( char *, SyckNode *, int ); char *syck_xprivate( char *, int ); -char *syck_taguri( char *, char *, int ); -int syck_tagcmp( char *, char * ); -int syck_add_sym( SyckParser *, char * ); -int syck_lookup_sym( SyckParser *, SYMID, char ** ); +char *syck_taguri( const char *, const char *, int ); +int syck_tagcmp( const char *, const char * ); +int syck_add_sym( SyckParser *, void * ); +int syck_lookup_sym( SyckParser *, SYMID, void ** ); int syck_try_implicit( SyckNode * ); char *syck_type_id_to_uri( char * ); void try_tag_implicit( SyckNode *, int ); -char *syck_match_implicit( char *, size_t ); +const char *syck_match_implicit( const char *, size_t ); /* * API prototypes */ -char *syck_strndup( char *, long ); +char *syck_strndup( const char *, long ); long syck_io_file_read( char *, SyckIoFile *, long, long ); long syck_io_str_read( char *, SyckIoStr *, long, long ); char *syck_base64enc( char *, long ); @@ -371,20 +371,20 @@ void syck_output_handler( SyckEmitter *, SyckOutputHandler ); void syck_emitter_handler( SyckEmitter *, SyckEmitterHandler ); void syck_free_emitter( SyckEmitter * ); void syck_emitter_clear( SyckEmitter * ); -void syck_emitter_write( SyckEmitter *, char *, long ); -void syck_emitter_escape( SyckEmitter *, char *, long ); +void syck_emitter_write( SyckEmitter *, const char *, long ); +void syck_emitter_escape( SyckEmitter *, const char *, long ); void syck_emitter_flush( SyckEmitter *, long ); void syck_emit( SyckEmitter *, st_data_t ); -void syck_emit_scalar( SyckEmitter *, char *, enum scalar_style, int, int, char, char *, long ); -void syck_emit_1quoted( SyckEmitter *, int, char *, long ); -void syck_emit_2quoted( SyckEmitter *, int, char *, long ); -void syck_emit_folded( SyckEmitter *, int, char, char *, long ); -void syck_emit_literal( SyckEmitter *, char, char *, long ); -void syck_emit_seq( SyckEmitter *, char *, enum seq_style ); +void syck_emit_scalar( SyckEmitter *, const char *, enum scalar_style, int, int, char, const char *, long ); +void syck_emit_1quoted( SyckEmitter *, int, const char *, long ); +void syck_emit_2quoted( SyckEmitter *, int, const char *, long ); +void syck_emit_folded( SyckEmitter *, int, char, const char *, long ); +void syck_emit_literal( SyckEmitter *, char, const char *, long ); +void syck_emit_seq( SyckEmitter *, const char *, enum seq_style ); void syck_emit_item( SyckEmitter *, st_data_t ); -void syck_emit_map( SyckEmitter *, char *, enum map_style ); +void syck_emit_map( SyckEmitter *, const char *, enum map_style ); void syck_emit_end( SyckEmitter * ); -void syck_emit_tag( SyckEmitter *, char *, char * ); +void syck_emit_tag( SyckEmitter *, const char *, const char * ); void syck_emit_indent( SyckEmitter * ); SyckLevel *syck_emitter_current_level( SyckEmitter * ); SyckLevel *syck_emitter_parent_level( SyckEmitter * ); @@ -396,7 +396,7 @@ 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 ); -int syck_scan_scalar( int, char *, long ); +int syck_scan_scalar( int, const char *, long ); void syck_parser_handler( SyckParser *, SyckNodeHandler ); void syck_parser_error_handler( SyckParser *, SyckErrorHandler ); void syck_parser_bad_anchor_handler( SyckParser *, SyckBadAnchorHandler ); @@ -411,7 +411,7 @@ void free_any_io( SyckParser * ); long syck_parser_read( SyckParser * ); long syck_parser_readlen( SyckParser *, long ); SYMID syck_parse( SyckParser * ); -void syck_default_error_handler( SyckParser *, char * ); +void syck_default_error_handler( SyckParser *, const char * ); SYMID syck_yaml2byte_handler( SyckParser *, SyckNode * ); char *syck_yaml2byte( char * ); @@ -423,8 +423,8 @@ SyckNode *syck_alloc_seq(); SyckNode *syck_alloc_str(); void syck_free_node( SyckNode * ); void syck_free_members( SyckNode * ); -SyckNode *syck_new_str( char *, enum scalar_style ); -SyckNode *syck_new_str2( char *, long, enum scalar_style ); +SyckNode *syck_new_str( const char *, enum scalar_style ); +SyckNode *syck_new_str2( const char *, long, enum scalar_style ); void syck_replace_str( SyckNode *, char *, enum scalar_style ); void syck_replace_str2( SyckNode *, char *, long, enum scalar_style ); void syck_str_blow_away_commas( SyckNode * ); @@ -446,7 +446,7 @@ long syck_seq_count( SyckNode * ); /* * Lexer prototypes */ -void syckerror( char * ); +void syckerror( const char * ); int syckparse( void * ); union YYSTYPE; int sycklex( union YYSTYPE *, SyckParser * ); diff --git a/ext/syck/token.c b/ext/syck/token.c index 3c6cd1a9cf..cbe2bf992a 100644 --- a/ext/syck/token.c +++ b/ext/syck/token.c @@ -2714,7 +2714,7 @@ syckwrap() } void -syckerror( char *msg ) +syckerror( const char *msg ) { if ( syck_parser_ptr->error_handler == NULL ) syck_parser_ptr->error_handler = syck_default_error_handler; diff --git a/ext/syck/yaml2byte.c b/ext/syck/yaml2byte.c index 821a3cd5b5..bbd029cf10 100644 --- a/ext/syck/yaml2byte.c +++ b/ext/syck/yaml2byte.c @@ -129,6 +129,7 @@ syck_yaml2byte_handler(p, n) char *finish; bytestring_t *val = NULL; bytestring_t *sav = NULL; + void *data; /*TRACE0("syck_yaml2byte_handler()");*/ val = bytestring_alloc(); if(n->anchor) bytestring_append(val,YAMLBYTE_ANCHOR, n->anchor, NULL); @@ -189,7 +190,7 @@ syck_yaml2byte_handler(p, n) for ( i = 0; i < n->data.list->idx; i++ ) { oid = syck_seq_read( n, i ); - syck_lookup_sym( p, oid, (char **)&sav ); + if (syck_lookup_sym( p, oid, &data )) sav = data; bytestring_extend(val, sav); } bytestring_append(val,YAMLBYTE_END_BRANCH,NULL,NULL); @@ -199,10 +200,10 @@ syck_yaml2byte_handler(p, n) for ( i = 0; i < n->data.pairs->idx; i++ ) { oid = syck_map_read( n, map_key, i ); - syck_lookup_sym( p, oid, (char **)&sav ); + if (syck_lookup_sym( p, oid, &data )) sav = data; bytestring_extend(val, sav); oid = syck_map_read( n, map_value, i ); - syck_lookup_sym( p, oid, (char **)&sav ); + if (syck_lookup_sym( p, oid, &data )) sav = data; bytestring_extend(val, sav); } bytestring_append(val,YAMLBYTE_END_BRANCH,NULL,NULL); @@ -218,7 +219,8 @@ syck_yaml2byte(char *yamlstr) { SYMID oid; char *ret; - bytestring_t *sav; + bytestring_t *sav; + void *data; SyckParser *parser = syck_new_parser(); syck_parser_str_auto( parser, yamlstr, NULL ); @@ -228,7 +230,8 @@ syck_yaml2byte(char *yamlstr) syck_parser_taguri_expansion( parser, 1 ); oid = syck_parse( parser ); - if ( syck_lookup_sym( parser, oid, (char **)&sav ) == 1 ) { + if ( syck_lookup_sym( parser, oid, &data ) ) { + sav = data; ret = S_ALLOC_N( char, strlen( sav->buffer ) + 3 ); ret[0] = '\0'; strcat( ret, "D\n" ); |
