mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
fixup: fixup: fixup: fixup:
This commit is contained in:
parent
7fca3ddcca
commit
a83b76790b
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user