diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-24 05:07:08 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-24 05:07:08 +0300 |
commit | 35c5cc6c13327c36e3e0bf0f5d6431a9c19c897a (patch) | |
tree | b0f884e8e88fe08bb0028836d74b479ae5752938 /gpg_wrapper.cpp | |
parent | f6721be1f054f6ecfe25c8722113e97aa1a94de1 (diff) |
parse gpg output in utf8 format, possible locales bug fixed (need checks)
Diffstat (limited to 'gpg_wrapper.cpp')
-rw-r--r-- | gpg_wrapper.cpp | 12 |
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)
{
|