From 7cb05123f28c11b05fc7de36324e9749141bf102 Mon Sep 17 00:00:00 2001 From: Maxim Kulkin Date: Mon, 4 Jan 2021 18:28:45 -0500 Subject: [PATCH] Optimize calling client_send_plainv when there is only one buffer --- src/server.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index 5f9c079..03deaab 100644 --- a/src/server.c +++ b/src/server.c @@ -1095,7 +1095,15 @@ void client_sendv(client_context_t *context, uint8_t n, const byte **data, size_ if (context->encrypted) { client_send_encryptedv(context, n, data, data_sizes); } else { - client_send_plainv(context, n, data, data_sizes); + if (n == 1) { + int r = write(context->socket, data[0], data_sizes[0]); + if (r < 0) { + CLIENT_ERROR(context, "Failed to send response (errno %d)", errno); + return; + } + } else { + client_send_plainv(context, n, data, data_sizes); + } } }