git: 9front

Download patch

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*));
 }
 
 /*
--