From 2a37199477abaf4308c875cf6eec007f0e5d1b5c Mon Sep 17 00:00:00 2001
From: Anatolii Kurotych <akurotych@gmail.com>
Date: Mon, 28 Jan 2019 14:22:36 +0200
Subject: [PATCH] [*] Fix reset buf_out_size if send is error

---
 dap_server.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dap_server.c b/dap_server.c
index 2a7475e..e30fd65 100644
--- a/dap_server.c
+++ b/dap_server.c
@@ -217,7 +217,8 @@ static void read_write_cb (struct ev_loop* loop, struct ev_io* watcher, int reve
         }
         else
         {
-            for(size_t total_sent = 0; total_sent < dap_cur->buf_out_size;) {
+            size_t total_sent = 0;
+            for(; total_sent < dap_cur->buf_out_size;) {
                 //log_it(DEBUG, "Output: %u from %u bytes are sent ", total_sent, dap_cur->buf_out_size);
                 ssize_t bytes_sent = send(dap_cur->socket,
                                       dap_cur->buf_out + total_sent,
@@ -230,7 +231,7 @@ static void read_write_cb (struct ev_loop* loop, struct ev_io* watcher, int reve
                 total_sent += (size_t)bytes_sent;
                 dap_cur->download_stat.buf_size_total += (size_t)bytes_sent;
             }
-            dap_cur->buf_out_size = 0;
+            dap_cur->buf_out_size -= total_sent;
         }
     }
 
-- 
GitLab