From 399d08df016ed7139e45bba96c99b14094fb6326 Mon Sep 17 00:00:00 2001 From: ocean Date: Tue, 10 Jan 2006 04:38:23 +0000 Subject: * 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/branches/ruby_1_8@9818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/syck/rubyext.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ext') diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index 272cfd2571..a4717e4f35 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -1157,7 +1157,15 @@ syck_resolver_transfer( self, type, val ) } 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 ) ) { rb_funcall( obj, s_yaml_initialize, 2, type, val ); -- cgit v1.2.3