summaryrefslogtreecommitdiffstats
path: root/variable.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-10-09 17:45:53 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-10-09 17:45:53 +0000
commit7b5010f3b4defd7df194da60156291ce30e38561 (patch)
treee11fe4e2ab597cf512b2fd680b50c91cc0293a08 /variable.c
parent9de6d1dd87cd31889b4f9e721f6245dbd1e63af7 (diff)
downloadruby-7b5010f3b4defd7df194da60156291ce30e38561.tar.gz
ruby-7b5010f3b4defd7df194da60156291ce30e38561.tar.xz
ruby-7b5010f3b4defd7df194da60156291ce30e38561.zip
* marshal.c (r_object0): remove unnecessary iv restoration for
USRMARSHAL. [ruby-dev:21582] * marshal.c (w_object): dump generic instance variables from a string from '_dump'. * variable.c (rb_generic_ivar_table): return 0 if obj's FL_EXIVAR is not set. * time.c (time_dump): copy instance variables to dumped string, to be included in the marshaled data. * bignum.c (rb_big2ulong): add range check to ensure round trip. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'variable.c')
-rw-r--r--variable.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/variable.c b/variable.c
index 32616fc13..3cee63b46 100644
--- a/variable.c
+++ b/variable.c
@@ -780,6 +780,7 @@ rb_generic_ivar_table(obj)
{
st_table *tbl;
+ if (!FL_TEST(obj, FL_EXIVAR)) return 0;
if (!generic_iv_tbl) return 0;
if (!st_lookup(generic_iv_tbl, obj, (st_data_t *)&tbl)) return 0;
return tbl;