* ext/syck/rubyext.c (syck_resolver_transfer): should be able to load
!ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159] (written by akira yamada) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
12d3325346
commit
8e4f2a50da
@ -1,3 +1,8 @@
|
|||||||
|
Tue Jan 10 13:30:34 2006 akira yamada <akira@ruby-lang.org>
|
||||||
|
|
||||||
|
* ext/syck/rubyext.c (syck_resolver_transfer): should be able to load
|
||||||
|
!ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159]
|
||||||
|
|
||||||
Tue Jan 10 12:47:41 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
|
Tue Jan 10 12:47:41 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
|
||||||
|
|
||||||
* lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in
|
* lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in
|
||||||
|
@ -115,14 +115,14 @@ rb_syck_compile(self, port)
|
|||||||
oid = syck_parse( parser );
|
oid = syck_parse( parser );
|
||||||
syck_lookup_sym( parser, oid, (char **)&sav );
|
syck_lookup_sym( parser, oid, (char **)&sav );
|
||||||
|
|
||||||
ret = S_ALLOCA_N( char, strlen( sav->buffer ) + 3 );
|
ret = S_ALLOC_N( char, strlen( sav->buffer ) + 3 );
|
||||||
ret[0] = '\0';
|
ret[0] = '\0';
|
||||||
strcat( ret, "D\n" );
|
strcat( ret, "D\n" );
|
||||||
strcat( ret, sav->buffer );
|
strcat( ret, sav->buffer );
|
||||||
|
|
||||||
syck_free_parser( parser );
|
syck_free_parser( parser );
|
||||||
|
|
||||||
bc = rb_str_new2( ret );
|
bc = rb_str_new2( ret ); S_FREE( ret );
|
||||||
if ( taint ) OBJ_TAINT( bc );
|
if ( taint ) OBJ_TAINT( bc );
|
||||||
return bc;
|
return bc;
|
||||||
}
|
}
|
||||||
@ -1038,16 +1038,17 @@ syck_resolver_node_import( self, node )
|
|||||||
*/
|
*/
|
||||||
VALUE
|
VALUE
|
||||||
syck_set_ivars( vars, obj )
|
syck_set_ivars( vars, obj )
|
||||||
VALUE vars, obj;
|
VALUE vars, obj;
|
||||||
{
|
{
|
||||||
VALUE ivname = rb_ary_entry( vars, 0 );
|
VALUE ivname = rb_ary_entry( vars, 0 );
|
||||||
char *ivn;
|
char *ivn;
|
||||||
StringValue( ivname );
|
StringValue( ivname );
|
||||||
ivn = S_ALLOCA_N( char, RSTRING(ivname)->len + 2 );
|
ivn = S_ALLOC_N( char, RSTRING(ivname)->len + 2 );
|
||||||
ivn[0] = '@';
|
ivn[0] = '@';
|
||||||
ivn[1] = '\0';
|
ivn[1] = '\0';
|
||||||
strncat( ivn, RSTRING(ivname)->ptr, RSTRING(ivname)->len );
|
strncat( ivn, RSTRING(ivname)->ptr, RSTRING(ivname)->len );
|
||||||
rb_iv_set( obj, ivn, rb_ary_entry( vars, 1 ) );
|
rb_iv_set( obj, ivn, rb_ary_entry( vars, 1 ) );
|
||||||
|
S_FREE( ivn );
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1156,7 +1157,15 @@ syck_resolver_transfer( self, type, val )
|
|||||||
}
|
}
|
||||||
else if ( !NIL_P( target_class ) )
|
else if ( !NIL_P( target_class ) )
|
||||||
{
|
{
|
||||||
obj = rb_obj_alloc( subclass );
|
if ( subclass == rb_cBignum )
|
||||||
|
{
|
||||||
|
obj = rb_str2inum( val, 10 ); /* for yaml dumped by 1.8.3 [ruby-core:6159] */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
obj = rb_obj_alloc( subclass );
|
||||||
|
}
|
||||||
|
|
||||||
if ( rb_respond_to( obj, s_yaml_initialize ) )
|
if ( rb_respond_to( obj, s_yaml_initialize ) )
|
||||||
{
|
{
|
||||||
rb_funcall( obj, s_yaml_initialize, 2, type, val );
|
rb_funcall( obj, s_yaml_initialize, 2, type, val );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user