summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-13 06:03:00 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-13 06:03:00 +0000
commit925c936bb1f362cb806184afddf2dbac40b21ffc (patch)
tree9f4c1b9fac94441d87d9c8bef07644fe22576ec2 /gc.c
parent0824f9f224117ce26973df3ebc6216d03723dd0e (diff)
* gc.c (rb_data_object_alloc, rb_data_typed_object_alloc):
use NEWOBJ_OF() instead of NEWOBJ(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gc.c b/gc.c
index e5443f3519..d0294cbc26 100644
--- a/gc.c
+++ b/gc.c
@@ -715,9 +715,8 @@ rb_node_newnode(enum node_type type, VALUE a0, VALUE a1, VALUE a2)
VALUE
rb_data_object_alloc(VALUE klass, void *datap, RUBY_DATA_FUNC dmark, RUBY_DATA_FUNC dfree)
{
- NEWOBJ(data, struct RData);
- if (klass) Check_Type(klass, T_CLASS);
- OBJSETUP(data, klass, T_DATA);
+ NEWOBJ_OF(data, struct RData, klass, T_DATA);
+ Check_Type(klass, T_CLASS);
data->data = datap;
data->dfree = dfree;
data->dmark = dmark;
@@ -728,12 +727,8 @@ rb_data_object_alloc(VALUE klass, void *datap, RUBY_DATA_FUNC dmark, RUBY_DATA_F
VALUE
rb_data_typed_object_alloc(VALUE klass, void *datap, const rb_data_type_t *type)
{
- NEWOBJ(data, struct RTypedData);
-
+ NEWOBJ_OF(data, struct RTypedData, klass, T_DATA);
if (klass) Check_Type(klass, T_CLASS);
-
- OBJSETUP(data, klass, T_DATA);
-
data->data = datap;
data->typed_flag = 1;
data->type = type;