OSDN Git Service

パイプのバッファサイズを最大に変更。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sun, 27 Dec 2009 13:39:13 +0000 (13:39 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sun, 27 Dec 2009 13:39:13 +0000 (13:39 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@176 9df91469-1e22-0410-86e7-ea8537beb833

src/plugin/cuiWrapper/cuiWrapper.cpp

index 13b387a..878f3f7 100644 (file)
@@ -69,7 +69,13 @@ BOOL __stdcall DllMain(HMODULE, DWORD, void *)
 \r
 int myExecute(wxString szCommandLine, wxString * szOutput, wxString szCwd, bool bCheckExist = false)\r
 {\r
+       // Windows用の方法ではバッファサイズを有限にしか取れない?\r
+       // Linux用の方法ではコンソールが表示されてしまう。\r
 #ifdef __LINUX__\r
+#ifndef popen\r
+#define popen _popen\r
+#define pclose _pclose\r
+#endif\r
        wxString sz = ::wxGetCwd();\r
        ::wxSetWorkingDirectory(szCwd);\r
        FILE * fp = popen(szCommandLine.ToUTF8(), "r");\r
@@ -105,7 +111,7 @@ int myExecute(wxString szCommandLine, wxString * szOutput, wxString szCwd, bool
        sa.bInheritHandle = TRUE;\r
        sa.nLength = sizeof(SECURITY_ATTRIBUTES);\r
        HANDLE hRead, hWrite;\r
-       if (! ::CreatePipe(& hRead, & hWrite, & sa, 65537))\r
+       if (! ::CreatePipe(& hRead, & hWrite, & sa, 0xffffffff))\r
        {\r
                return TPI_ERROR_U_USE_LIBRARY;\r
        }\r