summaryrefslogtreecommitdiff
path: root/ext/syck/syck.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/syck/syck.c')
-rw-r--r--ext/syck/syck.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/syck/syck.c b/ext/syck/syck.c
index 9c9266dda9..9ac62688fa 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,