From 684e61afe765e87078fd341bc896c15ac93c0bdd Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Tue, 9 Dec 2025 09:33:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20client=5Fremove=5Ffrom=5Ft?= =?UTF-8?q?ag=20=E5=87=BD=E6=95=B0=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/client.c b/src/client.c index 414c5ce..d0cb859 100644 --- a/src/client.c +++ b/src/client.c @@ -67,10 +67,16 @@ static void client_add_to_tag(client_t *client, tag_t *tag) { } static void client_remove_from_tag(client_t *client, tag_t *tag) { - for (task_in_tag_t **task = &tag->task_list; *task; task = &(*task)->next) { - if ((*task)->client != client) continue; - p_delete(task); - *task = (*task)->next; + task_in_tag_t **task = &tag->task_list; + while (*task) { + if ((*task)->client == client) { + task_in_tag_t *t = *task; + *task = (*task)->next; + p_delete(&t); + continue; + } + + task = &(*task)->next; } }