diff options
Diffstat (limited to 'gpg_wrapper.cpp')
-rw-r--r-- | gpg_wrapper.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gpg_wrapper.cpp b/gpg_wrapper.cpp index b85d24b..3ed7f4a 100644 --- a/gpg_wrapper.cpp +++ b/gpg_wrapper.cpp @@ -21,7 +21,7 @@ //boost::mutex gpg_mutex; -pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD aexitcode, pxResult *result) +pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD aexitcode, pxResult *result, HANDLE hProcess) { // gpg_mutex.lock(); if(!gpg_configured) @@ -102,7 +102,6 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD debuglog<<time_str()<<": gpg in: "<<commandline<<"\n"; - success = CreateProcess(NULL, (TCHAR*)commandline.c_str(), NULL, NULL, TRUE, CREATE_NEW_CONSOLE | CREATE_UNICODE_ENVIRONMENT, (void*)_T("LANGUAGE=en@quot\0LC_ALL=English\0"), NULL, &sinfo, &pri); if (!success) @@ -117,6 +116,8 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD return pxCreateProcessFailed; } + hProcess = pri.hProcess; + inputpos=ainput; while (TRUE) @@ -156,5 +157,5 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD void pxEexcute_thread(void *param) { gpg_execution_params *params = (gpg_execution_params*)param; - pxResult result = pxExecute(params->cmd, params->useless, params->out, params->code, params->result); + pxResult result = pxExecute(params->cmd, params->useless, params->out, params->code, params->result, params->hProcess); } |