diff options
author | Michael Lingelbach <m.j.lbach@gmail.com> | 2022-01-15 08:37:44 -0800 |
---|---|---|
committer | Michael Lingelbach <m.j.lbach@gmail.com> | 2022-01-15 08:37:44 -0800 |
commit | facd07bcf76b3c0b41eb046fce6b9d5bad62b89e (patch) | |
tree | 51da3c70736141ef4f88958001cbc5eef7c4177b /src/nvim/api/extmark.c | |
parent | 2fd8330628e007704c28043089a47ec75093bcb8 (diff) | |
download | rneovim-facd07bcf76b3c0b41eb046fce6b9d5bad62b89e.tar.gz rneovim-facd07bcf76b3c0b41eb046fce6b9d5bad62b89e.tar.bz2 rneovim-facd07bcf76b3c0b41eb046fce6b9d5bad62b89e.zip |
Address review r3
Diffstat (limited to 'src/nvim/api/extmark.c')
-rw-r--r-- | src/nvim/api/extmark.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/nvim/api/extmark.c b/src/nvim/api/extmark.c index 5624ae83dd..58be8f2807 100644 --- a/src/nvim/api/extmark.c +++ b/src/nvim/api/extmark.c @@ -445,9 +445,18 @@ Integer nvim_buf_set_extmark(Buffer buffer, Integer ns_id, Integer line, Integer opts->end_row = opts->end_line; } +#define OPTION_TO_BOOL(target, name, val) \ + target = api_object_to_bool(opts->name, #name, val, err); \ + if (ERROR_SET(err)) { \ + goto error; \ + } + + bool strict = true; + OPTION_TO_BOOL(strict, strict, true); + if (opts->end_row.type == kObjectTypeInteger) { Integer val = opts->end_row.data.integer; - if (val < 0 || val > buf->b_ml.ml_line_count) { + if (val < 0 || (val > buf->b_ml.ml_line_count && strict)) { api_set_error(err, kErrorTypeValidation, "end_row value outside range"); goto error; } else { @@ -516,12 +525,6 @@ Integer nvim_buf_set_extmark(Buffer buffer, Integer ns_id, Integer line, Integer goto error; } -#define OPTION_TO_BOOL(target, name, val) \ - target = api_object_to_bool(opts->name, #name, val, err); \ - if (ERROR_SET(err)) { \ - goto error; \ - } - OPTION_TO_BOOL(decor.virt_text_hide, virt_text_hide, false); OPTION_TO_BOOL(decor.hl_eol, hl_eol, false); @@ -600,9 +603,6 @@ Integer nvim_buf_set_extmark(Buffer buffer, Integer ns_id, Integer line, Integer bool ephemeral = false; OPTION_TO_BOOL(ephemeral, ephemeral, false); - bool strict = true; - OPTION_TO_BOOL(strict, strict, true); - if (line < 0) { api_set_error(err, kErrorTypeValidation, "line value outside range"); goto error; |