aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorPeter Kalauskas <pkalauskas@gmail.com>2017-11-20 11:27:06 -0800
committerPeter Kalauskas <pkalauskas@gmail.com>2017-11-22 09:21:34 -0800
commitc030a381684f3491decf5597b16dfa9a21f29500 (patch)
treeafdfe6c1b6459bba14a8eababe19032a8d7b265f /src/nvim/api/private/helpers.c
parentc24b74c2291b3949f53abf6cee5b308320283642 (diff)
downloadrneovim-c030a381684f3491decf5597b16dfa9a21f29500.tar.gz
rneovim-c030a381684f3491decf5597b16dfa9a21f29500.tar.bz2
rneovim-c030a381684f3491decf5597b16dfa9a21f29500.zip
helpers.c: statically assert integer falls within range
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index 2944925a9c..6808048ac8 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -12,6 +12,7 @@
#include "nvim/api/private/handle.h"
#include "nvim/msgpack_rpc/helpers.h"
#include "nvim/ascii.h"
+#include "nvim/assert.h"
#include "nvim/vim.h"
#include "nvim/buffer.h"
#include "nvim/window.h"
@@ -760,12 +761,9 @@ bool object_to_vim(Object obj, typval_T *tv, Error *err)
case kObjectTypeWindow:
case kObjectTypeTabpage:
case kObjectTypeInteger:
- if (obj.data.integer > VARNUMBER_MAX
- || obj.data.integer < VARNUMBER_MIN) {
- api_set_error(err, kErrorTypeValidation, "Integer value outside range");
- return false;
- }
-
+ STATIC_ASSERT(sizeof(obj.data.integer) <= sizeof(varnumber_T),
+ "Expected integer size to be less than or equal to VimL "
+ "number size");
tv->v_type = VAR_NUMBER;
tv->vval.v_number = (varnumber_T)obj.data.integer;
break;