aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/digest/digest.c10
2 files changed, 8 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 4a7011329b..4325537989 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);