summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2026-07-29 22:19:33 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2026-07-29 22:19:33 +0300
commitc601515f0e400956b5425cd3f4e6e8c7e486a90e (patch)
treeafce417135c7c36114133eac1102142af1e1a607 /src
parent7ff4684258ddcee147104c6af23b3cbbace08720 (diff)
downloadlark-c601515f0e400956b5425cd3f4e6e8c7e486a90e.tar.gz
lark-c601515f0e400956b5425cd3f4e6e8c7e486a90e.zip
don't try to read if we have enough in strbuf
Diffstat (limited to 'src')
-rw-r--r--src/server.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server.c b/src/server.c
index 9154a3c..7001b62 100644
--- a/src/server.c
+++ b/src/server.c
@@ -260,7 +260,10 @@ static ssize_t reread_cmd(struct server_conn *conn, size_t max)
*/
static ssize_t reread_n(struct server_conn *conn, size_t n)
{
- ssize_t r = reread(conn, n);
+ if (conn->strbuf.n >= n)
+ return n;
+
+ ssize_t r = reread(conn, n - conn->strbuf.n);
if (r < 0)
return r;