diff options
author | Peter Kalauskas <pkalauskas@gmail.com> | 2017-11-20 11:27:06 -0800 |
---|---|---|
committer | Peter Kalauskas <pkalauskas@gmail.com> | 2017-11-22 09:21:34 -0800 |
commit | c030a381684f3491decf5597b16dfa9a21f29500 (patch) | |
tree | afdfe6c1b6459bba14a8eababe19032a8d7b265f /src/nvim/api/private/helpers.c | |
parent | c24b74c2291b3949f53abf6cee5b308320283642 (diff) | |
download | rneovim-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.c | 10 |
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; |