aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEliseo Martínez <eliseomarmol@gmail.com>2015-01-12 11:46:19 +0100
committerEliseo Martínez <eliseomarmol@gmail.com>2015-01-16 09:26:01 +0100
commit634d5d86a7cb249ca62795be06a6615705bdfb0b (patch)
treec0263f1aef855637f06dcf5ee93d4ad37ecbf639
parent12f606a2a8e8a61c9f54ce87ed680914eaa503fe (diff)
downloadrneovim-634d5d86a7cb249ca62795be06a6615705bdfb0b.tar.gz
rneovim-634d5d86a7cb249ca62795be06a6615705bdfb0b.tar.bz2
rneovim-634d5d86a7cb249ca62795be06a6615705bdfb0b.zip
coverity/100248: Operands don't affect result: HI.
Problem : Operands don't affect results (CONSTANT_EXPRESSION_RESULT). Diagnostic : Harmless issue. Rationale : n >= LONG_MIN, n being intmax_t, is always true for architectures where sizeof(intmax_t) == sizeof(long). Resolution : Add sizes check.
-rw-r--r--config/CMakeLists.txt1
-rw-r--r--src/nvim/charset.c4
2 files changed, 5 insertions, 0 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 8781e389ed..7356d91ac2 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;
}