diff options
-rwxr-xr-x | plugins/New_GPG/src/gpg_wrapper.cpp | 4 | ||||
-rwxr-xr-x | plugins/New_GPG/src/utilities.cpp | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/plugins/New_GPG/src/gpg_wrapper.cpp b/plugins/New_GPG/src/gpg_wrapper.cpp index 38f86889a4..e420faac92 100755 --- a/plugins/New_GPG/src/gpg_wrapper.cpp +++ b/plugins/New_GPG/src/gpg_wrapper.cpp @@ -120,7 +120,7 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD inputpos=ainput; - while (TRUE) + while (true) { if(!pri.hProcess) break; @@ -135,7 +135,7 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD success=WriteFile(writestdin,inputpos,size,&transfered,NULL); inputpos+=transfered; - boost::this_thread::sleep(boost::posix_time::milliseconds(200)); + boost::this_thread::sleep(boost::posix_time::milliseconds(50)); } storeOutput(readstdout,aoutput); diff --git a/plugins/New_GPG/src/utilities.cpp b/plugins/New_GPG/src/utilities.cpp index 6b84c07954..1e9d8997b8 100755 --- a/plugins/New_GPG/src/utilities.cpp +++ b/plugins/New_GPG/src/utilities.cpp @@ -563,16 +563,18 @@ int onSendFile(WPARAM w, LPARAM l) void storeOutput(HANDLE ahandle, string *output) { BOOL success; - char readbuffer[4096] = {0}; + char *readbuffer = NULL; unsigned long transfered, available; do { PeekNamedPipe(ahandle,NULL,0,NULL,&available,NULL); if (!available) continue; - success=ReadFile(ahandle,readbuffer,sizeof(readbuffer),&transfered,NULL); + readbuffer = (char*)mir_alloc(available); + success=ReadFile(ahandle,readbuffer,available,&transfered,NULL); if (success && transfered) - output->append(readbuffer, 4096); + output->append(readbuffer, available); + mir_free(readbuffer); } while (available>0); } |