summaryrefslogtreecommitdiff
path: root/lang/ruby18-base/patches/patch-cn
blob: 003fccb4a43bb2e528dc89c31bb99ee402f2ad5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$NetBSD: patch-cn,v 1.1 2006/07/30 23:12:50 taca Exp $

--- ext/syck/rubyext.c.orig	2005-12-20 13:13:26.000000000 +0900
+++ 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 );