diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/digest/digest.c | 10 |
2 files changed, 8 insertions, 8 deletions
@@ -1,3 +1,9 @@ +Sun Jan 17 22:48:44 2010 Akinori MUSHA <knu@iDaemons.org> + + * ext/digest/digest.c (rb_digest_instance_digest) + (rb_digest_instance_hexdigest): Save a method call of reset() + for a disposable clone. + Sun Jan 17 19:24:25 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> * math.c (domain_check): check errno first. diff --git a/ext/digest/digest.c b/ext/digest/digest.c index c415ec4e7b..4f3b462240 100644 --- a/ext/digest/digest.c +++ b/ext/digest/digest.c @@ -179,10 +179,7 @@ rb_digest_instance_digest(int argc, VALUE *argv, VALUE self) value = rb_funcall(self, id_finish, 0); rb_funcall(self, id_reset, 0); } else { - VALUE clone = rb_obj_clone(self); - - value = rb_funcall(clone, id_finish, 0); - rb_funcall(clone, id_reset, 0); + value = rb_funcall(rb_obj_clone(self), id_finish, 0); } return value; @@ -227,10 +224,7 @@ rb_digest_instance_hexdigest(int argc, VALUE *argv, VALUE self) value = rb_funcall(self, id_finish, 0); rb_funcall(self, id_reset, 0); } else { - VALUE clone = rb_obj_clone(self); - - value = rb_funcall(clone, id_finish, 0); - rb_funcall(clone, id_reset, 0); + value = rb_funcall(rb_obj_clone(self), id_finish, 0); } return hexencode_str_new(value); |