summaryrefslogtreecommitdiff
path: root/src/emacs-module.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emacs-module.c')
-rw-r--r--src/emacs-module.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 2ba5540d9a1..6155535f869 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -519,14 +519,10 @@ module_extract_integer (emacs_env *env, emacs_value n)
MODULE_FUNCTION_BEGIN (0);
Lisp_Object l = value_to_lisp (n);
CHECK_INTEGER (l);
- if (BIGNUMP (l))
- {
- intmax_t i = bignum_to_intmax (l);
- if (i == 0)
- xsignal1 (Qoverflow_error, l);
- return i;
- }
- return XFIXNUM (l);
+ intmax_t i;
+ if (! integer_to_intmax (l, &i))
+ xsignal1 (Qoverflow_error, l);
+ return i;
}
static emacs_value