aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/client.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/client.c b/src/client.c
index 2aa52de4f..529e3012d 100644
--- a/src/client.c
+++ b/src/client.c
@@ -722,7 +722,7 @@ int client_print(int fd, const char *buffer, size_t buflen)
static void client_defer_output(struct client *client,
const void *data, size_t length)
{
- struct sllnode *buf;
+ struct sllnode **buf_r;
assert(client->deferred_send != NULL);
@@ -738,10 +738,10 @@ static void client_defer_output(struct client *client,
return;
}
- buf = client->deferred_send;
- while (buf->next)
- buf = buf->next;
- buf->next = new_sllnode(data, length);
+ buf_r = &client->deferred_send;
+ while (*buf_r != NULL)
+ buf_r = &(*buf_r)->next;
+ *buf_r = new_sllnode(data, length);
}
static void client_write_output(struct client *client)