From f2eb015b2aa8f98ddc47e7b49aada6331818abea Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Wed, 29 Jul 2020 13:25:40 -0700 Subject: [PATCH] Fixed bug in unshift() logic in do/while loop on windows IPC --- microscript/ILibDuktape_net.c | 1 + 1 file changed, 1 insertion(+) diff --git a/microscript/ILibDuktape_net.c b/microscript/ILibDuktape_net.c index f6124af..b226edd 100644 --- a/microscript/ILibDuktape_net.c +++ b/microscript/ILibDuktape_net.c @@ -929,6 +929,7 @@ BOOL ILibDuktape_server_ipc_ReadSink(void *chain, HANDLE h, ILibWaitHandle_Error ILibDuktape_DuplexStream_WriteData(winIPC->ds, winIPC->buffer + winIPC->bufferOffset, winIPC->totalRead); } if (winIPC->unshiftedBytes > winIPC->totalRead) { winIPC->unshiftedBytes = winIPC->totalRead; } + consumed = winIPC->totalRead - winIPC->unshiftedBytes; winIPC->bufferOffset += (winIPC->totalRead - winIPC->unshiftedBytes); winIPC->totalRead -= (winIPC->totalRead - winIPC->unshiftedBytes); } while (winIPC->paused == 0 && consumed != 0 && winIPC->totalRead > 0);