summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/digest/digest.h19
1 files changed, 10 insertions, 9 deletions
@@ -77,16 +77,16 @@ static inline VALUE
rb_digest_make_metadata(const rb_digest_metadata_t *meta)
{
#if EXTSTATIC
- // The extension is built as a static library, so safe to refer to
- // rb_digest_wrap_metadata directly.
- extern VALUE rb_digest_wrap_metadata(const rb_digest_metadata_t *meta);
- return rb_digest_wrap_metadata(meta);
#else
- // The extension is built as a shared library, so we can't refer to
- // rb_digest_wrap_metadata directly.
# ifdef DIGEST_USE_RB_EXT_RESOLVE_SYMBOL
- // If rb_ext_resolve_symbol() is available, use it to get the address of
- // rb_digest_wrap_metadata.
typedef VALUE (*wrapper_func_type)(const rb_digest_metadata_t *meta);
static wrapper_func_type wrapper;
if (!wrapper) {
@@ -96,7 +96,8 @@ rb_digest_make_metadata(const rb_digest_metadata_t *meta)
}
return wrapper(meta);
# else
- // If rb_ext_resolve_symbol() is not available, keep using untyped data.
# undef RUBY_UNTYPED_DATA_WARNING
# define RUBY_UNTYPED_DATA_WARNING 0
return rb_obj_freeze(Data_Wrap_Struct(0, 0, 0, (void *)meta));