summaryrefslogtreecommitdiff
path: root/ext/syck
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-05-20 06:48:04 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-05-20 06:48:04 +0000
commitb614db0432aa9ab228cc4eca773fdc30ec6c900a (patch)
tree0444d4d8af5637f732690a130b911808eb6d6842 /ext/syck
parent82cf98939f76cb0af206571b50ea81746bfeed7f (diff)
* st.h: define ST_DATA_T_DEFINED for portability.
* ext/syck/syck.h: add typedef, st_data_t for Ruby 1.6. * ext/syck/syck.c (syck_st_free_nodes): return int. * ext/syck/syck.c (syck_add_sym): cast the data to st_data_t to avoid error on bcc32. * ext/syck/syck.c (syck_lookup_sym): ditto. * ext/syck/syck.c (syck_free_parser): NULL is not integer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck')
-rw-r--r--ext/syck/syck.c8
-rw-r--r--ext/syck/syck.h6
2 files changed, 9 insertions, 5 deletions
diff --git a/ext/syck/syck.c b/ext/syck/syck.c
index 89aa804..068c195 100644
--- a/ext/syck/syck.c
+++ b/ext/syck/syck.c
@@ -188,7 +188,7 @@ syck_add_sym( SyckParser *p, char *data )
p->syms = st_init_numtable();
}
id = p->syms->num_entries;
- st_insert( p->syms, id, data );
+ st_insert( p->syms, id, (st_data_t)data );
return id;
}
@@ -196,10 +196,10 @@ int
syck_lookup_sym( SyckParser *p, SYMID id, char **data )
{
if ( p->syms == NULL ) return 0;
- return st_lookup( p->syms, id, data );
+ return st_lookup( p->syms, id, (st_data_t *)data );
}
-enum st_retval
+int
syck_st_free_nodes( char *key, SyckNode *n, char *arg )
{
syck_free_node( n );
@@ -223,7 +223,7 @@ syck_free_parser( SyckParser *p )
//
// Free the anchor table
//
- st_foreach( p->anchors, syck_st_free_nodes, NULL );
+ st_foreach( p->anchors, syck_st_free_nodes, 0 );
st_free_table( p->anchors );
//
diff --git a/ext/syck/syck.h b/ext/syck/syck.h
index 6bba91b..6d10cab 100644
--- a/ext/syck/syck.h
+++ b/ext/syck/syck.h
@@ -14,7 +14,7 @@
#define YAML_DOMAIN "yaml.org,2002"
#include <stdio.h>
-#include "../../st.h"
+#include "st.h"
#if defined(__cplusplus)
extern "C" {
@@ -257,6 +257,10 @@ long syck_seq_count( SyckNode * );
void apply_seq_in_map( SyckParser *, SyckNode * );
+#ifndef ST_DATA_T_DEFINED
+typedef long st_data_t;
+#endif
+
#if defined(__cplusplus)
} /* extern "C" { */
#endif