fix(api): avoid assertion when autocmd group id is 0 (#23210)

This commit is contained in:
Dhruv Manilawala
2023-04-23 06:53:25 +05:30
committed by GitHub
parent 77ff25b1d9
commit 3ac952d4e2
2 changed files with 21 additions and 4 deletions

View File

@@ -114,7 +114,7 @@ Array nvim_get_autocmds(Dict(get_autocmds) *opts, Error *err)
break;
case kObjectTypeInteger:
group = (int)opts->group.data.integer;
char *name = augroup_name(group);
char *name = group == 0 ? NULL : augroup_name(group);
VALIDATE_INT(augroup_exists(name), "group", opts->group.data.integer, {
goto cleanup;
});
@@ -684,7 +684,7 @@ void nvim_del_augroup_by_id(Integer id, Error *err)
FUNC_API_SINCE(9)
{
TRY_WRAP(err, {
char *name = augroup_name((int)id);
char *name = id == 0 ? NULL : augroup_name((int)id);
augroup_del(name, false);
});
}
@@ -746,7 +746,7 @@ void nvim_exec_autocmds(Object event, Dict(exec_autocmds) *opts, Error *err)
break;
case kObjectTypeInteger:
au_group = (int)opts->group.data.integer;
char *name = augroup_name(au_group);
char *name = au_group == 0 ? NULL : augroup_name(au_group);
VALIDATE_INT(augroup_exists(name), "group", (int64_t)au_group, {
goto cleanup;
});
@@ -840,7 +840,7 @@ static int get_augroup_from_object(Object group, Error *err)
return au_group;
case kObjectTypeInteger:
au_group = (int)group.data.integer;
char *name = augroup_name(au_group);
char *name = au_group == 0 ? NULL : augroup_name(au_group);
VALIDATE_INT(augroup_exists(name), "group", (int64_t)au_group, {
return AUGROUP_ERROR;
});