summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dln.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/dln.c b/dln.c
index 77bfe91b28..259433bf1a 100644
--- a/dln.c
+++ b/dln.c
@@ -463,8 +463,10 @@ dln_load(const char *file)
void *handle = dln_open(file);
#ifdef RUBY_DLN_CHECK_ABI
- unsigned long long (*abi_version_fct)(void) = (unsigned long long(*)(void))dln_sym(handle, "ruby_abi_version");
- unsigned long long binary_abi_version = (*abi_version_fct)();
+ typedef unsigned long long abi_version_number;
+ typedef abi_version_number abi_version_func(void);
+ abi_version_func *abi_version_fct = (abi_version_func *)dln_sym(handle, "ruby_abi_version");
+ abi_version_number binary_abi_version = (*abi_version_fct)();
if (binary_abi_version != ruby_abi_version() && abi_check_enabled_p()) {
dln_loaderror("incompatible ABI version of binary - %s", file);
}