wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 5829bfa74713d8e465c1b2b73cccca96e9dc304b
parent d2c66778922818b3e2b340c3500dd5713b21704e
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Wed,  5 Apr 2006 18:26:15 +0200

siplified cext_vdetach


Diffstat:
libcext/vector.c | 13++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/libcext/vector.c b/libcext/vector.c @@ -1,6 +1,7 @@ /* extendible vectors. Icarus Sparry 2006. Public domain. */ #include <stdlib.h> #include <stdio.h> +#include <string.h> #include <unistd.h> #include "cext.h" @@ -19,13 +20,11 @@ cext_vattach(Vector *v, void *p) void cext_vdetach(Vector *v, void *data) { - void **p = v->data, **end; - if (!p) return; - for(end = p + v->size - 1; p <= end; p++) - if (*p == data) { - for(; p < end; p++) - p[0] = p[1]; - *end = nil; + unsigned int i; + for(i = 0; i < v->size; i++) + if (v->data[i] == data) { + memmove(v->data + i, v->data + i + 1, + (v->size - i) * sizeof(void *)); --v->size; return; }