lorddrew pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=52d4313bb65f4fc224d3b35e37243b08f5b16234
commit 52d4313bb65f4fc224d3b35e37243b08f5b16234 Author: Andrii Kroitor <an.kroi...@samsung.com> Date: Thu Dec 8 15:15:38 2016 +0200 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 53e4442..030b046 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 7b9f41d..67b26fb 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", --