[macruby-changes] [225] MacRuby/trunk/ext/syck
source_changes at macosforge.org
source_changes at macosforge.org
Mon May 26 21:53:23 PDT 2008
Revision: 225
http://trac.macosforge.org/projects/ruby/changeset/225
Author: lsansonetti at apple.com
Date: 2008-05-26 21:53:22 -0700 (Mon, 26 May 2008)
Log Message:
-----------
more missing write barriers, cleaning some warnings
Modified Paths:
--------------
MacRuby/trunk/ext/syck/implicit.c
MacRuby/trunk/ext/syck/rubyext.c
MacRuby/trunk/ext/syck/syck.c
MacRuby/trunk/ext/syck/syck.h
Modified: MacRuby/trunk/ext/syck/implicit.c
===================================================================
--- MacRuby/trunk/ext/syck/implicit.c 2008-05-27 04:33:25 UTC (rev 224)
+++ MacRuby/trunk/ext/syck/implicit.c 2008-05-27 04:53:22 UTC (rev 225)
@@ -1608,7 +1608,7 @@
}
char *
-syck_type_id_to_uri( char *type_id )
+syck_type_id_to_uri( const char *type_id )
{
char *cursor, *limit, *marker;
Modified: MacRuby/trunk/ext/syck/rubyext.c
===================================================================
--- MacRuby/trunk/ext/syck/rubyext.c 2008-05-27 04:33:25 UTC (rev 224)
+++ MacRuby/trunk/ext/syck/rubyext.c 2008-05-27 04:53:22 UTC (rev 225)
@@ -177,7 +177,7 @@
if (rb_respond_to(port, s_binmode)) {
rb_funcall2(port, s_binmode, 0, 0);
}
- syck_parser_str( parser, (char *)port, 0, rb_syck_io_str_read );
+ syck_parser_str( parser, (const char *)port, 0, rb_syck_io_str_read );
}
else {
rb_raise(rb_eTypeError, "instance of IO needed");
@@ -821,10 +821,10 @@
bonus = (struct parser_xtra *)parser->bonus;
bonus->taint = syck_parser_assign_io(parser, &port);
- bonus->data = rb_hash_new();
- bonus->resolver = rb_attr_get( self, s_resolver );
+ GC_WB(&bonus->data, rb_hash_new());
+ GC_WB(&bonus->resolver, rb_attr_get( self, s_resolver ));
if ( NIL_P( proc ) ) bonus->proc = 0;
- else bonus->proc = proc;
+ else GC_WB(&bonus->proc, proc);
return syck_parse( parser );
}
@@ -848,13 +848,13 @@
bonus = (struct parser_xtra *)parser->bonus;
bonus->taint = syck_parser_assign_io(parser, &port);
- bonus->resolver = rb_attr_get( self, s_resolver );
+ GC_WB(&bonus->resolver, rb_attr_get( self, s_resolver ));
bonus->proc = 0;
while ( 1 )
{
/* Reset hash for tracking nodes */
- bonus->data = rb_hash_new();
+ GC_WB(&bonus->data, rb_hash_new());
/* Parse a document */
v = syck_parse( parser );
@@ -1885,7 +1885,11 @@
VALUE pobj;
SyckEmitter *emitter = syck_new_emitter();
+#if WITH_OBJC
+ emitter->bonus = xmalloc( sizeof(struct emitter_xtra) );
+#else
emitter->bonus = S_ALLOC( struct emitter_xtra );
+#endif
S_MEMZERO( emitter->bonus, struct emitter_xtra, 1 );
pobj = Data_Wrap_Struct( class, syck_mark_emitter, rb_syck_free_emitter, emitter );
@@ -1910,8 +1914,8 @@
bonus = (struct emitter_xtra *)emitter->bonus;
bonus->oid = Qnil;
- bonus->port = rb_str_new2( "" );
- bonus->data = rb_hash_new();
+ GC_WB(&bonus->port, rb_str_new2( "" ));
+ GC_WB(&bonus->data, rb_hash_new());
if (rb_scan_args(argc, argv, "01", &options) == 0)
{
@@ -1920,11 +1924,11 @@
}
else if ( !NIL_P(tmp = rb_check_string_type(options)) )
{
- bonus->port = tmp;
+ GC_WB(&bonus->port, tmp);
}
else if ( rb_respond_to( options, s_write ) )
{
- bonus->port = options;
+ GC_WB(&bonus->port, options);
}
else
{
@@ -1956,7 +1960,7 @@
bonus = (struct emitter_xtra *)emitter->bonus;
/* Calculate anchors, normalize nodes, build a simpler symbol table */
- bonus->oid = oid;
+ GC_WB(&bonus->oid, oid);
if ( !NIL_P( oid ) && RTEST( rb_funcall( bonus->data, s_haskey, 1, oid ) ) ) {
symple = rb_hash_aref( bonus->data, oid );
} else {
Modified: MacRuby/trunk/ext/syck/syck.c
===================================================================
--- MacRuby/trunk/ext/syck/syck.c 2008-05-27 04:33:25 UTC (rev 224)
+++ MacRuby/trunk/ext/syck/syck.c 2008-05-27 04:53:22 UTC (rev 225)
@@ -313,7 +313,7 @@
}
void
-syck_parser_str( SyckParser *p, char *ptr, long len, SyckIoStrRead read )
+syck_parser_str( SyckParser *p, const char *ptr, long len, SyckIoStrRead read )
{
ASSERT( p != NULL );
free_any_io( p );
Modified: MacRuby/trunk/ext/syck/syck.h
===================================================================
--- MacRuby/trunk/ext/syck/syck.h 2008-05-27 04:33:25 UTC (rev 224)
+++ MacRuby/trunk/ext/syck/syck.h 2008-05-27 04:53:22 UTC (rev 225)
@@ -201,7 +201,7 @@
struct _syck_str {
/* String buffer pointers */
- char *beg, *ptr, *end;
+ const char *beg, *ptr, *end;
/* Function which string -> buffer */
SyckIoStrRead read;
};
@@ -351,7 +351,7 @@
int syck_add_sym( SyckParser *, char * );
int syck_lookup_sym( SyckParser *, SYMID, char ** );
int syck_try_implicit( SyckNode * );
-char *syck_type_id_to_uri( char * );
+char *syck_type_id_to_uri( const char * );
void try_tag_implicit( SyckNode *, int );
char *syck_match_implicit( char *, size_t );
@@ -401,7 +401,7 @@
void syck_parser_bad_anchor_handler( SyckParser *, SyckBadAnchorHandler );
void syck_parser_set_input_type( SyckParser *, enum syck_parser_input );
void syck_parser_file( SyckParser *, FILE *, SyckIoFileRead );
-void syck_parser_str( SyckParser *, char *, long, SyckIoStrRead );
+void syck_parser_str( SyckParser *, const 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 );
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080526/4db81599/attachment-0001.htm
More information about the macruby-changes
mailing list