[macruby-changes] [227] MacRuby/trunk/ext/syck

source_changes at macosforge.org source_changes at macosforge.org
Tue May 27 12:09:05 PDT 2008


Revision: 227
          http://trac.macosforge.org/projects/ruby/changeset/227
Author:   lsansonetti at apple.com
Date:     2008-05-27 12:09:04 -0700 (Tue, 27 May 2008)

Log Message:
-----------
more GC fixes

Modified Paths:
--------------
    MacRuby/trunk/ext/syck/emitter.c
    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/emitter.c
===================================================================
--- MacRuby/trunk/ext/syck/emitter.c	2008-05-27 07:32:07 UTC (rev 226)
+++ MacRuby/trunk/ext/syck/emitter.c	2008-05-27 19:09:04 UTC (rev 227)
@@ -108,7 +108,11 @@
 syck_new_emitter(void)
 {
     SyckEmitter *e;
+#if WITH_OBJC
+    e = xmalloc(sizeof(SyckEmitter));
+#else
     e = S_ALLOC( SyckEmitter );
+#endif
     e->headless = 0;
     e->use_header = 0;
     e->use_version = 0;

Modified: MacRuby/trunk/ext/syck/implicit.c
===================================================================
--- MacRuby/trunk/ext/syck/implicit.c	2008-05-27 07:32:07 UTC (rev 226)
+++ MacRuby/trunk/ext/syck/implicit.c	2008-05-27 19:09:04 UTC (rev 227)
@@ -44,9 +44,9 @@
     }
 }
 
-char *syck_match_implicit( char *str, size_t len )
+char *syck_match_implicit( const char *str, size_t len )
 {
-    char *cursor, *limit, *marker;
+    const char *cursor, *limit, *marker;
     cursor = str;
     limit = str + len;
 

Modified: MacRuby/trunk/ext/syck/rubyext.c
===================================================================
--- MacRuby/trunk/ext/syck/rubyext.c	2008-05-27 07:32:07 UTC (rev 226)
+++ MacRuby/trunk/ext/syck/rubyext.c	2008-05-27 19:09:04 UTC (rev 227)
@@ -744,7 +744,11 @@
     VALUE pobj;
     SyckParser *parser = syck_new_parser();
 
+#if WITH_OBJC
+    GC_WB(&parser->bonus, xmalloc( sizeof(struct parser_xtra) ));
+#else
     parser->bonus = S_ALLOC( struct parser_xtra );
+#endif
     S_MEMZERO( parser->bonus, struct parser_xtra, 1 );
 
     pobj = Data_Wrap_Struct( class, syck_mark_parser, rb_syck_free_parser, parser );
@@ -1886,7 +1890,7 @@
     SyckEmitter *emitter = syck_new_emitter();
 
 #if WITH_OBJC
-    emitter->bonus = xmalloc( sizeof(struct emitter_xtra) );
+    GC_WB(&emitter->bonus, xmalloc( sizeof(struct emitter_xtra) ));
 #else
     emitter->bonus = S_ALLOC( struct emitter_xtra );
 #endif

Modified: MacRuby/trunk/ext/syck/syck.c
===================================================================
--- MacRuby/trunk/ext/syck/syck.c	2008-05-27 07:32:07 UTC (rev 226)
+++ MacRuby/trunk/ext/syck/syck.c	2008-05-27 19:09:04 UTC (rev 227)
@@ -63,7 +63,7 @@
 long
 syck_io_str_read( char *buf, SyckIoStr *str, long max_size, long skip )
 {
-    char *beg;
+    const char *beg;
     long len = 0;
 
     ASSERT( str != NULL );

Modified: MacRuby/trunk/ext/syck/syck.h
===================================================================
--- MacRuby/trunk/ext/syck/syck.h	2008-05-27 07:32:07 UTC (rev 226)
+++ MacRuby/trunk/ext/syck/syck.h	2008-05-27 19:09:04 UTC (rev 227)
@@ -353,7 +353,7 @@
 int syck_try_implicit( SyckNode * );
 char *syck_type_id_to_uri( const char * );
 void try_tag_implicit( SyckNode *, int );
-char *syck_match_implicit( char *, size_t );
+char *syck_match_implicit( const char *, size_t );
 
 /*
  * API prototypes

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080527/0172b1b1/attachment.htm 


More information about the macruby-changes mailing list