mirror of
https://github.com/neovim/neovim.git
synced 2025-09-10 21:38:19 +00:00
fixup: fixup: fixup: fixup:
This commit is contained in:
@@ -972,11 +972,11 @@ void nvim_buf_delete(Buffer buffer, Dictionary opts, Error *err)
|
|||||||
bool unload = false;
|
bool unload = false;
|
||||||
for (size_t i = 0; i < opts.size; i++) {
|
for (size_t i = 0; i < opts.size; i++) {
|
||||||
String k = opts.items[i].key;
|
String k = opts.items[i].key;
|
||||||
Object *v = &opts.items[i].value;
|
Object v = opts.items[i].value;
|
||||||
if (strequal("force", k.data)) {
|
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)) {
|
} 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 {
|
} else {
|
||||||
api_set_error(err, kErrorTypeValidation, "unexpected key: %s", k.data);
|
api_set_error(err, kErrorTypeValidation, "unexpected key: %s", k.data);
|
||||||
return;
|
return;
|
||||||
|
@@ -1621,18 +1621,22 @@ free_exit:
|
|||||||
|
|
||||||
/// Force obj to bool.
|
/// Force obj to bool.
|
||||||
/// If it fails, returns false and sets err
|
/// If it fails, returns false and sets err
|
||||||
/// @param obj The object to coerce to a boolean
|
/// @param obj The object to coerce to a boolean
|
||||||
/// @param what The name of the object, used for error message
|
/// @param what The name of the object, used for error message
|
||||||
/// @param if_nil What to return if the type is nil.
|
/// @param nil_value What to return if the type is nil.
|
||||||
/// @param err Set if there was an error in converting to a bool
|
/// @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)
|
bool api_coerce_to_bool(
|
||||||
|
Object obj,
|
||||||
|
const char *what,
|
||||||
|
bool nil_value,
|
||||||
|
Error *err)
|
||||||
{
|
{
|
||||||
if (obj.type == kObjectTypeBoolean) {
|
if (obj.type == kObjectTypeBoolean) {
|
||||||
return obj.data.boolean;
|
return obj.data.boolean;
|
||||||
} else if (obj.type == kObjectTypeInteger) {
|
} else if (obj.type == kObjectTypeInteger) {
|
||||||
return obj.data.integer; // C semantics: non-zero int is true
|
return obj.data.integer; // C semantics: non-zero int is true
|
||||||
} else if (obj.type == kObjectTypeNil) {
|
} 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 {
|
} else {
|
||||||
api_set_error(err, kErrorTypeValidation, "%s is not an boolean", what);
|
api_set_error(err, kErrorTypeValidation, "%s is not an boolean", what);
|
||||||
return false;
|
return false;
|
||||||
|
Reference in New Issue
Block a user