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",

-- 


Reply via email to