ref: cff2531b2dfea5ad27776e04d66704c9baecee0f
parent: ab312be820cd96eb29459cc6c1aa62855156375f
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Jan 19 13:43:51 EST 2020
acme: fix off by one in colclose(), make dellist() code consistent
--- a/sys/src/cmd/acme/cols.c
+++ b/sys/src/cmd/acme/cols.c
@@ -131,8 +131,8 @@
windelete(w);
winclose(w);
}
- memmove(c->w+i, c->w+i+1, (c->nw-i)*sizeof(Window*));
c->nw--;
+ memmove(c->w+i, c->w+i+1, (c->nw-i)*sizeof(Window*));
c->w = realloc(c->w, c->nw*sizeof(Window*));
if(c->nw == 0){draw(screen, r, display->white, nil, ZP);
--- a/sys/src/cmd/acme/edit.c
+++ b/sys/src/cmd/acme/edit.c
@@ -267,8 +267,8 @@
void
dellist(List *l, int i)
{- memmove(&l->ptr[i], &l->ptr[i+1], (l->nused-(i+1))*sizeof(void*));
l->nused--;
+ memmove(&l->ptr[i], &l->ptr[i+1], (l->nused-i)*sizeof(void*));
}
/*
--
⑨