0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.2783: duplicate code for setting byte in blob, blob test may fail

Problem:    Duplicate code for setting byte in blob, blob test may fail.
Solution:   Call blob_set_append().  Test sort failure with "N".
This commit is contained in:
Bram Moolenaar
2021-04-18 16:08:52 +02:00
parent 39211cba72
commit e8209b91b9
3 changed files with 4 additions and 16 deletions

View File

@@ -1321,21 +1321,7 @@ set_var_lval(
{
val = (int)tv_get_number_chk(rettv, &error);
if (!error)
{
garray_T *gap = &lp->ll_blob->bv_ga;
// Allow for appending a byte. Setting a byte beyond
// the end is an error otherwise.
if (lp->ll_n1 < gap->ga_len
|| (lp->ll_n1 == gap->ga_len
&& ga_grow(&lp->ll_blob->bv_ga, 1) == OK))
{
blob_set(lp->ll_blob, lp->ll_n1, val);
if (lp->ll_n1 == gap->ga_len)
++gap->ga_len;
}
// error for invalid range was already given in get_lval()
}
blob_set_append(lp->ll_blob, lp->ll_n1, val);
}
}
else if (op != NULL && *op != '=')