From ecb985c10d5241a65ab9552ebfcecaa150b35427 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 4 Sep 2018 19:14:01 -0700 Subject: Simplify bignum->intmax conversion * src/lisp.h (integer_to_intmax, integer_to_uintmax): New functions. * src/data.c (cons_to_unsigned, cons_to_signed) (arith_driver): * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned): * src/dispnew.c (sit_for): * src/editfns.c (styled_format): * src/emacs-module.c (module_extract_integer): * src/fileio.c (file_offset): * src/font.c (font_unparse_xlfd, Fopen_font): * src/xdisp.c (calc_line_height_property): * src/process.c (handle_child_signal): --- src/emacs-module.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/emacs-module.c') 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 -- cgit v1.2.1