From 1de40ac790d3218cc10d37f95f9f1a8c573dbe77 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Tue, 10 Aug 2010 23:51:58 +0300 Subject: modified: main.cpp modified: options.cpp modified: utilities.cpp modified: utilities.h --- utilities.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index f2d717d..e0661a3 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -79,7 +79,7 @@ char *date() void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szExtDesc) { - TCHAR str[MAX_PATH+2] = {0}; + TCHAR str[MAX_PATH+2] = {0}, *tmp; OPENFILENAME ofn={0}; TCHAR filter[512], *pfilter; ofn.lStructSize=CDSIZEOF_STRUCT(OPENFILENAME,lpTemplateName); @@ -91,7 +91,9 @@ void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szEx pfilter[_tcslen(pfilter)+1] = '\0'; pfilter[_tcslen(pfilter)+2] = '\0'; ofn.lpstrFilter=filter; - _tcscpy(str, UniGetContactSettingUtf(0, szModuleName, szSetting, _T(""))); + tmp = UniGetContactSettingUtf(0, szModuleName, szSetting, _T("")); + _tcscpy(str, tmp); + mir_free(tmp); if(_tcslen(str)< 2) str[0] = '\0'; ofn.lpstrFile=str; @@ -217,3 +219,19 @@ void storeOutput(HANDLE ahandle, string *output) output->append(readbuffer, 10); } while (available>0); } + +void cp866_to_cp1251(string *str) +{ + string::iterator p; + for(p = str->begin(); p != str->end(); p++) + { + if(*p > -129 && *p < -80) + *p += 64; + else if(*p > -33 && *p < -16) + *p += 16; + else if(*p == -16) + *p -= 72; + else if(*p == -17) + *p -= 57; + } +} -- cgit v1.2.3