diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/api/buffer.c | 6 | ||||
-rw-r--r-- | src/nvim/api/private/helpers.c | 16 |
2 files changed, 13 insertions, 9 deletions
diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index 3c585fd1fd..cad4c8314f 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -972,11 +972,11 @@ void nvim_buf_delete(Buffer buffer, Dictionary opts, Error *err) bool unload = false; for (size_t i = 0; i < opts.size; i++) { String k = opts.items[i].key; - Object *v = &opts.items[i].value; + Object v = opts.items[i].value; if (strequal("force", k.data)) { - force = api_coerce_to_bool(*v, "force", false, err); + force = api_coerce_to_bool(v, "force", false, err); } else if (strequal("unload", k.data)) { - unload = api_coerce_to_bool(*v, "unload", false, err); + unload = api_coerce_to_bool(v, "unload", false, err); } else { api_set_error(err, kErrorTypeValidation, "unexpected key: %s", k.data); return; diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 41b0f8ae1d..981d41ae6e 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -1621,18 +1621,22 @@ free_exit: /// Force obj to bool. /// If it fails, returns false and sets err -/// @param obj The object to coerce to a boolean -/// @param what The name of the object, used for error message -/// @param if_nil What to return if the type is nil. -/// @param err Set if there was an error in converting to a bool -bool api_coerce_to_bool(Object obj, const char *what, bool if_nil, Error *err) +/// @param obj The object to coerce to a boolean +/// @param what The name of the object, used for error message +/// @param nil_value What to return if the type is nil. +/// @param err Set if there was an error in converting to a bool +bool api_coerce_to_bool( + Object obj, + const char *what, + bool nil_value, + Error *err) { if (obj.type == kObjectTypeBoolean) { return obj.data.boolean; } else if (obj.type == kObjectTypeInteger) { return obj.data.integer; // C semantics: non-zero int is true } else if (obj.type == kObjectTypeNil) { - return if_nil; // caller decides what NIL (missing retval in lua) means + return nil_value; // caller decides what NIL (missing retval in lua) means } else { api_set_error(err, kErrorTypeValidation, "%s is not an boolean", what); return false; |