diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-03 08:28:26 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-03 08:28:26 +0900 |
| commit | 2e0aa29296a4ab8ef370bd64b311fd0b86b748d1 (patch) | |
| tree | 7b38a995cc15c4683199b76b32c95cd68e219e54 /src/kernel.c | |
| parent | 9f0c59e06876fb16539c79f867504da04d2eb5ce (diff) | |
| download | mruby-2e0aa29296a4ab8ef370bd64b311fd0b86b748d1.tar.gz mruby-2e0aa29296a4ab8ef370bd64b311fd0b86b748d1.zip | |
cosmetic changes in mrb_obj_clone()
Diffstat (limited to 'src/kernel.c')
| -rw-r--r-- | src/kernel.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/kernel.c b/src/kernel.c index 050dd73bc..2d1c731a2 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -345,16 +345,18 @@ init_copy(mrb_state *mrb, mrb_value dest, mrb_value obj) mrb_value mrb_obj_clone(mrb_state *mrb, mrb_value self) { - struct RObject *clone; + struct RObject *p; + mrb_value clone; if (mrb_special_const_p(self)) { mrb_raisef(mrb, E_TYPE_ERROR, "can't clone %s", mrb_obj_classname(mrb, self)); } - clone = (struct RObject*)mrb_obj_alloc(mrb, mrb_type(self), mrb_obj_class(mrb, self)); - clone->c = mrb_singleton_class_clone(mrb, self); - init_copy(mrb, mrb_obj_value(clone), self); + p = (struct RObject*)mrb_obj_alloc(mrb, mrb_type(self), mrb_obj_class(mrb, self)); + p->c = mrb_singleton_class_clone(mrb, self); + clone = mrb_obj_value(p); + init_copy(mrb, clone, self); - return mrb_obj_value(clone); + return clone; } /* 15.3.1.3.9 */ |
