From 52d4313bb65f4fc224d3b35e37243b08f5b16234 Mon Sep 17 00:00:00 2001 From: Andrii Kroitor Date: Thu, 8 Dec 2016 15:15:38 +0200 Subject: [PATCH] ecore_exe: fix ecore_exe_send on Windows Do not repeat already sent data. Remove pipe_write.data_buf because data was sent directly anyway and it was used only in this method. --- src/lib/ecore/ecore_exe_private.h | 2 -- src/lib/ecore/ecore_exe_win32.c | 11 +---------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/src/lib/ecore/ecore_exe_private.h b/src/lib/ecore/ecore_exe_private.h index 53e44420b0..030b046603 100644 --- a/src/lib/ecore/ecore_exe_private.h +++ b/src/lib/ecore/ecore_exe_private.h @@ -92,8 +92,6 @@ struct _Ecore_Exe_Data { HANDLE child_pipe; HANDLE child_pipe_x; - void *data_buf; - int data_size; } pipe_write; struct diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c index 7b9f41d80c..67b26fb4d3 100644 --- a/src/lib/ecore/ecore_exe_win32.c +++ b/src/lib/ecore/ecore_exe_win32.c @@ -558,19 +558,10 @@ _impl_ecore_exe_send(Ecore_Exe *obj, const void *data, int size) { - void *buf = NULL; DWORD num_exe; BOOL res; - buf = realloc(exe->pipe_write.data_buf, exe->pipe_write.data_size + size); - if (!buf) return EINA_FALSE; - - exe->pipe_write.data_buf = buf; - memcpy((char *)exe->pipe_write.data_buf + exe->pipe_write.data_size, data, size); - exe->pipe_write.data_size += size; - - res = WriteFile(exe->pipe_write.child_pipe_x, buf, exe->pipe_write.data_size, &num_exe, NULL); - printf(" ** res : %d\n", res); + res = WriteFile(exe->pipe_write.child_pipe_x, data, size, &num_exe, NULL); if (!res || num_exe == 0) { ERR("Ecore_Exe %p stdin is closed! Cannot send %d bytes from %p",