summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/digest/digest.c2
-rw-r--r--ext/digest/digest.h6
-rw-r--r--ext/digest/sha2/sha2init.c4
3 files changed, 8 insertions, 4 deletions
diff --git a/ext/digest/digest.c b/ext/digest/digest.c
index b6f5a56062..954ab81598 100644
--- a/ext/digest/digest.c
+++ b/ext/digest/digest.c
@@ -735,7 +735,7 @@ Init_digest(void)
id_digest = rb_intern("digest");
id_hexdigest = rb_intern("hexdigest");
id_digest_length = rb_intern("digest_length");
- id_metadata = rb_intern("metadata");
+ id_metadata = rb_id_metadata();
InitVM(digest);
}
diff --git a/ext/digest/digest.h b/ext/digest/digest.h
index d9997b5db0..4b6954089f 100644
--- a/ext/digest/digest.h
+++ b/ext/digest/digest.h
@@ -56,3 +56,9 @@ rb_digest_namespace(void)
rb_require("digest");
return rb_path2class("Digest");
}
+
+static inline ID
+rb_id_metadata(void)
+{
+ return rb_intern_const("metadata");
+}
diff --git a/ext/digest/sha2/sha2init.c b/ext/digest/sha2/sha2init.c
index 99450bb29e..7d211784a3 100644
--- a/ext/digest/sha2/sha2init.c
+++ b/ext/digest/sha2/sha2init.c
@@ -35,15 +35,13 @@ void
Init_sha2(void)
{
VALUE mDigest, cDigest_Base;
- ID id_metadata;
+ ID id_metadata = rb_id_metadata();
#define DECLARE_ALGO_CLASS(bitlen) \
VALUE cDigest_SHA##bitlen;
FOREACH_BITLEN(DECLARE_ALGO_CLASS)
- id_metadata = rb_intern_const("metadata");
-
mDigest = rb_digest_namespace();
cDigest_Base = rb_path2class("Digest::Base");