about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--filter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/filter.c b/filter.c
index 2a7d564..a648d8b 100644
--- a/filter.c
+++ b/filter.c
@@ -74,7 +74,7 @@ bool filterRemove(struct Filter filter) {
 		if (filter.chan && strcasecmp(filters[i].chan, filter.chan)) continue;
 		if (filter.mesg && strcasecmp(filters[i].mesg, filter.mesg)) continue;
 		free(filters[i].mask);
-		filters[i] = filters[--len];
+		memmove(&filters[i], &filters[i + 1], sizeof(*filters) * --len);
 		filters[len] = (struct Filter) {0};
 		found = true;
 	}