diff options
-rw-r--r-- | config/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/nvim/charset.c | 4 | ||||
-rw-r--r-- | src/nvim/hardcopy.c | 4 |
3 files changed, 7 insertions, 2 deletions
diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt index aab4b5c23d..a46f686d7c 100644 --- a/config/CMakeLists.txt +++ b/config/CMakeLists.txt @@ -5,6 +5,7 @@ include(CheckIncludeFiles) check_type_size("int" SIZEOF_INT) check_type_size("long" SIZEOF_LONG) +check_type_size("intmax_t" SIZEOF_INTMAX_T) check_type_size("off_t" SIZEOF_OFF_T) check_type_size("void *" SIZEOF_VOID_PTR) diff --git a/src/nvim/charset.c b/src/nvim/charset.c index b3d0949722..b86c66c3fe 100644 --- a/src/nvim/charset.c +++ b/src/nvim/charset.c @@ -1695,7 +1695,9 @@ intmax_t getdigits(char_u **pp) int getdigits_int(char_u **pp) { intmax_t number = getdigits(pp); +#if SIZEOF_INTMAX_T > SIZEOF_INT assert(number >= INT_MIN && number <= INT_MAX); +#endif return (int)number; } @@ -1705,7 +1707,9 @@ int getdigits_int(char_u **pp) long getdigits_long(char_u **pp) { intmax_t number = getdigits(pp); +#if SIZEOF_INTMAX_T > SIZEOF_LONG assert(number >= LONG_MIN && number <= LONG_MAX); +#endif return (long)number; } diff --git a/src/nvim/hardcopy.c b/src/nvim/hardcopy.c index 993ec143bb..92abcbada4 100644 --- a/src/nvim/hardcopy.c +++ b/src/nvim/hardcopy.c @@ -14,6 +14,7 @@ #include <errno.h> #include <string.h> #include <inttypes.h> +#include <stdint.h> #include "nvim/vim.h" #include "nvim/ascii.h" @@ -726,8 +727,7 @@ void ex_hardcopy(exarg_T *eap) if (got_int || settings.user_abort) goto print_fail; - assert(prtpos.bytes_printed == 0 - || prtpos.bytes_printed * 100 > prtpos.bytes_printed); + assert(prtpos.bytes_printed <= SIZE_MAX / 100); sprintf((char *)IObuff, _("Printing page %d (%zu%%)"), page_count + 1 + side, prtpos.bytes_printed * 100 / bytes_to_print); |