diff options
Diffstat (limited to 'ext/syck/syck.c')
-rw-r--r-- | ext/syck/syck.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/syck/syck.c b/ext/syck/syck.c index 9c9266dda..9ac62688f 100644 --- a/ext/syck/syck.c +++ b/ext/syck/syck.c @@ -177,7 +177,7 @@ syck_new_parser(void) } int -syck_add_sym( SyckParser *p, char *data ) +syck_add_sym( SyckParser *p, void *data ) { SYMID id = 0; if ( p->syms == NULL ) @@ -190,10 +190,14 @@ syck_add_sym( SyckParser *p, char *data ) } int -syck_lookup_sym( SyckParser *p, SYMID id, void *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, data ); + ret = st_lookup( p->syms, id, &data ); + *datap = (void *)data; + return ret; } int @@ -493,7 +497,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, |