summaryrefslogtreecommitdiff
path: root/gpg_wrapper.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-08-24 05:07:08 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-08-24 05:07:08 +0300
commit35c5cc6c13327c36e3e0bf0f5d6431a9c19c897a (patch)
treeb0f884e8e88fe08bb0028836d74b479ae5752938 /gpg_wrapper.cpp
parentf6721be1f054f6ecfe25c8722113e97aa1a94de1 (diff)
parse gpg output in utf8 format, possible locales bug fixed (need checks)
Diffstat (limited to 'gpg_wrapper.cpp')
-rw-r--r--gpg_wrapper.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/gpg_wrapper.cpp b/gpg_wrapper.cpp
index 8ff6631..f9f4207 100644
--- a/gpg_wrapper.cpp
+++ b/gpg_wrapper.cpp
@@ -77,6 +77,7 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD
TCHAR *home_dir = UniGetContactSettingUtf(NULL, szGPGModuleName, "szHomePath", _T(""));
commandline += home_dir;
commandline += _T("\" ");
+ commandline += _T("--display-charset utf-8 ");
commandline += *acommandline;
mir_free(bin_path);
mir_free(home_dir);
@@ -87,8 +88,15 @@ pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD
char* tmp = mir_utf8encodeW(commandline.c_str());
debuglog<<"in: "<<tmp<<"\n";
mir_free(tmp);
- }
- success = CreateProcess(NULL, (TCHAR*)commandline.c_str(), NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &sinfo, &pri);
+ }
+
+ TCHAR chNewEnv[128];
+ LPTSTR lpszCurrentVariable;
+ lpszCurrentVariable = (LPTSTR)chNewEnv;
+ _tcscpy(lpszCurrentVariable, _T("LANGUAGE=0"));
+
+
+ success = CreateProcess(NULL, (TCHAR*)commandline.c_str(), NULL, NULL, TRUE, CREATE_NEW_CONSOLE, (LPVOID)chNewEnv, NULL, &sinfo, &pri);
if (!success)
{