From 20bee028918b01d785d2fc8baa461f12d39152c1 Mon Sep 17 00:00:00 2001 From: Kevin-Ren97 Date: Thu, 9 Mar 2023 20:28:28 +0800 Subject: [PATCH] fix tutorial-10-user_defined_protocol when append multiple times --- tutorial/tutorial-10-user_defined_protocol/message.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tutorial/tutorial-10-user_defined_protocol/message.cc b/tutorial/tutorial-10-user_defined_protocol/message.cc index a5dd091e..70aac189 100644 --- a/tutorial/tutorial-10-user_defined_protocol/message.cc +++ b/tutorial/tutorial-10-user_defined_protocol/message.cc @@ -55,6 +55,7 @@ int TutorialMessage::append(const void *buf, size_t size) this->head_received += size; return 0; } + this->head_received += head_left; memcpy(p, buf, head_left); size -= head_left; @@ -83,7 +84,8 @@ int TutorialMessage::append(const void *buf, size_t size) return -1; } - memcpy(this->body, buf, size); + memcpy(this->body + this->body_received, buf, size); + this->body_received += size; if (size < body_left) return 0;