From 0147f399af73243c400755b2008d025f9f198567 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 28 Jan 2014 21:09:06 +0000 Subject: code cleaning git-svn-id: http://svn.miranda-ng.org/main/trunk@7937 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/MRA/src/Mra.cpp | 2 +- protocols/MRA/src/Mra.h | 4 +- protocols/MRA/src/MraAdvancedSearch.cpp | 87 +- protocols/MRA/src/MraAvatars.cpp | 119 +- protocols/MRA/src/MraChat.cpp | 10 +- protocols/MRA/src/MraFilesQueue.cpp | 280 +- protocols/MRA/src/MraPlaces.h | 4656 +++++++++++++++---------------- protocols/MRA/src/MraProto.h | 2 +- protocols/MRA/src/Mra_functions.cpp | 394 ++- protocols/MRA/src/Mra_menus.cpp | 60 +- protocols/MRA/src/Mra_proto.cpp | 191 +- protocols/MRA/src/Mra_svcs.cpp | 34 +- 12 files changed, 2895 insertions(+), 2944 deletions(-) (limited to 'protocols/MRA/src') diff --git a/protocols/MRA/src/Mra.cpp b/protocols/MRA/src/Mra.cpp index fd7c8796d0..944b965fda 100644 --- a/protocols/MRA/src/Mra.cpp +++ b/protocols/MRA/src/Mra.cpp @@ -60,7 +60,7 @@ extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD miranda static CMraProto* mraProtoInit(const char* pszProtoName, const TCHAR* tszUserName) { - CMraProto *ppro = new CMraProto( pszProtoName, tszUserName ); + CMraProto *ppro = new CMraProto(pszProtoName, tszUserName); g_Instances.insert(ppro); return ppro; } diff --git a/protocols/MRA/src/Mra.h b/protocols/MRA/src/Mra.h index 583add72c5..ae925a8471 100644 --- a/protocols/MRA/src/Mra.h +++ b/protocols/MRA/src/Mra.h @@ -230,7 +230,7 @@ bool IsHTTPSProxyUsed(HANDLE m_hNetlibUser); bool IsContactMraProto(HANDLE hContact); bool IsEMailMR(const CMStringA& szEmail); bool GetEMailFromString(const CMStringA& szBuff, CMStringA& szEmail); - + bool IsPhone(LPSTR lpszString, size_t dwStringSize); bool IsContactPhone(HANDLE hContact, LPSTR lpszPhone, size_t dwPhoneSize); HANDLE MraHContactFromPhone(LPSTR lpszPhone, size_t dwPhoneSize, BOOL bAddIfNeeded, BOOL bTemporary, BOOL *pbAdded); @@ -240,7 +240,7 @@ bool MraSendReplyBlogStatus(HANDLE hContact); DWORD GetYears(CONST PSYSTEMTIME pcstSystemTime); DWORD FindFile(LPWSTR lpszFolder, DWORD dwFolderLen, LPWSTR lpszFileName, DWORD dwFileNameLen, LPWSTR lpszRetFilePathName, DWORD dwRetFilePathLen, DWORD *pdwRetFilePathLen); DWORD MemFillRandom(LPVOID lpBuff, size_t dwBuffSize); - + DWORD GetMraStatusFromMiradaStatus(DWORD dwMirandaStatus, DWORD dwXStatusMir, DWORD *pdwXStatusMra); DWORD GetMirandaStatusFromMraStatus(DWORD dwMraStatus, DWORD dwXStatusMra, DWORD *pdwXStatusMir); DWORD GetMraXStatusIDFromMraUriStatus(const char *lpszStatusUri); diff --git a/protocols/MRA/src/MraAdvancedSearch.cpp b/protocols/MRA/src/MraAdvancedSearch.cpp index 31e9fcac09..aa3aa43b99 100644 --- a/protocols/MRA/src/MraAdvancedSearch.cpp +++ b/protocols/MRA/src/MraAdvancedSearch.cpp @@ -54,10 +54,6 @@ static const FieldNames ZodiakField[] = }; - - - - void ResetComboBox(HWND hWndCombo) { SendMessage(hWndCombo, CB_RESETCONTENT, 0, 0); @@ -71,8 +67,7 @@ void InitComboBox(HWND hWndCombo, FieldNames *lpNames) { ResetComboBox(hWndCombo); - for (size_t i = 0;lpNames[i].lpszText;i++) - { + for (size_t i = 0; lpNames[i].lpszText; i++) { DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)TranslateTS(lpNames[i].lpszText)); SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, lpNames[i].dwCode); } @@ -83,8 +78,7 @@ void InitComboBoxNumders(HWND hWndCombo, DWORD dwStart, DWORD dwEnd) { ResetComboBox(hWndCombo); - for (DWORD i = dwStart;i <= dwEnd;i++) - { + for (DWORD i = dwStart; i <= dwEnd; i++) { TCHAR szBuff[MAX_PATH]; mir_sntprintf(szBuff, SIZEOF(szBuff), _T("%lu"), i); DWORD dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)szBuff); @@ -99,24 +93,23 @@ INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam switch (message) { case WM_INITDIALOG: + SetWindowLongPtr(hWndDlg, GWLP_USERDATA, lParam); { DWORD dwItem; WCHAR wszBuff[MAX_PATH]; SYSTEMTIME stTime; GetLocalTime(&stTime); - SetWindowLongPtr(hWndDlg, GWLP_USERDATA, lParam); ppro = (CMraProto*)lParam; //InitComboBox(GetDlgItem(hWndDlg, IDC_EMAIL_DOMAIN), (FieldNames*)DomainField); - { - HWND hWndCombo = GetDlgItem(hWndDlg, IDC_EMAIL_DOMAIN); - ResetComboBox(hWndCombo); - for (size_t i = 0;lpcszMailRuDomains[i];i++) - { - MultiByteToWideChar(MRA_CODE_PAGE, 0, lpcszMailRuDomains[i], -1, wszBuff, SIZEOF(wszBuff)); - SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)wszBuff); - } + + HWND hWndCombo = GetDlgItem(hWndDlg, IDC_EMAIL_DOMAIN); + ResetComboBox(hWndCombo); + for (size_t i = 0; lpcszMailRuDomains[i]; i++) { + MultiByteToWideChar(MRA_CODE_PAGE, 0, lpcszMailRuDomains[i], -1, wszBuff, SIZEOF(wszBuff)); + SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)wszBuff); } + InitComboBox(GetDlgItem(hWndDlg, IDC_GENDER), (FieldNames*)GenderField); InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_AGERANGE_FROM), 1, 100); InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_AGERANGE_TO), 1, 100); @@ -125,21 +118,18 @@ INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_BIRTHDAY_YEAR), 1900, (DWORD)stTime.wYear); InitComboBox(GetDlgItem(hWndDlg, IDC_ZODIAK), (FieldNames*)ZodiakField); - HWND hWndCombo = GetDlgItem(hWndDlg, IDC_COUNTRY); + hWndCombo = GetDlgItem(hWndDlg, IDC_COUNTRY); ResetComboBox(hWndCombo); - for (size_t i = 0;mrapPlaces[i].lpszData;i++) - { - if (mrapPlaces[i].dwCityID == 0 && mrapPlaces[i].dwPlaceID == 0) - { + for (size_t i = 0; mrapPlaces[i].lpszData; i++) { + if (mrapPlaces[i].dwCityID == 0 && mrapPlaces[i].dwPlaceID == 0) { dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)mrapPlaces[i].lpszData); SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, mrapPlaces[i].dwCountryID); } } - ResetComboBox(GetDlgItem(hWndDlg, IDC_CITY)); - if ( ppro->getByte("AdvancedSearchRemember", MRA_DEFAULT_SEARCH_REMEMBER)) { + if (ppro->getByte("AdvancedSearchRemember", MRA_DEFAULT_SEARCH_REMEMBER)) { SendDlgItemMessage(hWndDlg, IDC_GENDER, CB_SETCURSEL, ppro->getWord("AdvancedSearchGender", 0), 0); SendDlgItemMessage(hWndDlg, IDC_AGERANGE_FROM, CB_SETCURSEL, ppro->getWord("AdvancedSearchAgeFrom", 0), 0); SendDlgItemMessage(hWndDlg, IDC_AGERANGE_TO, CB_SETCURSEL, ppro->getWord("AdvancedSearchAgeTo", 0), 0); @@ -186,25 +176,23 @@ INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam switch (LOWORD(wParam)) { case IDC_AGERANGE_FROM: case IDC_AGERANGE_TO: - if (HIWORD(wParam) == CBN_SELCHANGE) - { - if (LOWORD(wParam) == IDC_AGERANGE_FROM) - { + if (HIWORD(wParam) == CBN_SELCHANGE) { + if (LOWORD(wParam) == IDC_AGERANGE_FROM) { DWORD dwAgeFrom = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_AGERANGE_FROM); DWORD dwAgeTo = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_AGERANGE_TO); if (dwAgeFrom == 0) dwAgeFrom++; InitComboBoxNumders(GetDlgItem(hWndDlg, IDC_AGERANGE_TO), dwAgeFrom, 100); - SendMessage(GetDlgItem(hWndDlg, IDC_AGERANGE_TO), CB_SETCURSEL, ((dwAgeTo-dwAgeFrom)+1), 0); + SendMessage(GetDlgItem(hWndDlg, IDC_AGERANGE_TO), CB_SETCURSEL, ((dwAgeTo - dwAgeFrom) + 1), 0); } SendMessage(GetDlgItem(hWndDlg, IDC_BIRTHDAY_YEAR), CB_SETCURSEL, 0, 0); } break; + case IDC_BIRTHDAY_DAY: case IDC_BIRTHDAY_MONTH: case IDC_BIRTHDAY_YEAR: - if (HIWORD(wParam) == CBN_SELCHANGE) - { - SYSTEMTIME stTime = {0}; + if (HIWORD(wParam) == CBN_SELCHANGE) { + SYSTEMTIME stTime = { 0 }; stTime.wYear = (WORD)GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_YEAR); stTime.wMonth = (WORD)GET_CURRENT_COMBO_DATA(hWndDlg, IDC_BIRTHDAY_MONTH); @@ -216,17 +204,17 @@ INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam SendMessage(GetDlgItem(hWndDlg, IDC_ZODIAK), CB_SETCURSEL, 0, 0); } break; + case IDC_ZODIAK: - if (HIWORD(wParam) == CBN_SELCHANGE) - { + if (HIWORD(wParam) == CBN_SELCHANGE) { SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_DAY, CB_SETCURSEL, 0, 0); SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_MONTH, CB_SETCURSEL, 0, 0); //SendDlgItemMessage(hWndDlg, IDC_BIRTHDAY_YEAR, CB_SETCURSEL, 0, 0); } break; + case IDC_COUNTRY: - if (HIWORD(wParam) == CBN_SELCHANGE) - { + if (HIWORD(wParam) == CBN_SELCHANGE) { DWORD dwCountryID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COUNTRY); HWND hWndCombo = GetDlgItem(hWndDlg, IDC_STATE); SendMessage(hWndCombo, CB_RESETCONTENT, 0, 0); @@ -235,19 +223,17 @@ INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, 0); SendMessage(hWndCombo, CB_SETCURSEL, dwItem, 0); - for (size_t i = 0;mrapPlaces[i].lpszData;i++) - { - if (mrapPlaces[i].dwCountryID == dwCountryID && mrapPlaces[i].dwCityID && mrapPlaces[i].dwPlaceID == 0) - { + for (size_t i = 0; mrapPlaces[i].lpszData; i++) { + if (mrapPlaces[i].dwCountryID == dwCountryID && mrapPlaces[i].dwCityID && mrapPlaces[i].dwPlaceID == 0) { dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)mrapPlaces[i].lpszData); SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, mrapPlaces[i].dwCityID); } } } break; + case IDC_STATE: - if (HIWORD(wParam) == CBN_SELCHANGE) - { + if (HIWORD(wParam) == CBN_SELCHANGE) { DWORD dwCountryID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_COUNTRY); DWORD dwStateID = GET_CURRENT_COMBO_DATA(hWndDlg, IDC_STATE); HWND hWndCombo = GetDlgItem(hWndDlg, IDC_CITY); @@ -256,24 +242,16 @@ INT_PTR CALLBACK AdvancedSearchDlgProc(HWND hWndDlg, UINT message, WPARAM wParam SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, 0); SendMessage(hWndCombo, CB_SETCURSEL, dwItem, 0); - for (size_t i = 0;mrapPlaces[i].lpszData;i++) - { - if (mrapPlaces[i].dwCountryID == dwCountryID && mrapPlaces[i].dwCityID == dwStateID && mrapPlaces[i].dwPlaceID) - { + for (size_t i = 0; mrapPlaces[i].lpszData; i++) { + if (mrapPlaces[i].dwCountryID == dwCountryID && mrapPlaces[i].dwCityID == dwStateID && mrapPlaces[i].dwPlaceID) { dwItem = SendMessage(hWndCombo, CB_ADDSTRING, 0, (LPARAM)mrapPlaces[i].lpszData); SendMessage(hWndCombo, CB_SETITEMDATA, dwItem, mrapPlaces[i].dwPlaceID); } } } - break; - default: - break; } - break; - default: - break; } -return FALSE; + return FALSE; } HWND CMraProto::SearchAdvanced(HWND hWndDlg) @@ -284,8 +262,7 @@ HWND CMraProto::SearchAdvanced(HWND hWndDlg) size_t dwUserSize = GetDlgItemTextA(hWndDlg, IDC_EMAIL_USER, szUser, SIZEOF(szUser)); size_t dwDomainSize = GetDlgItemTextA(hWndDlg, IDC_EMAIL_DOMAIN, szDomain, SIZEOF(szDomain)); - if (dwUserSize && dwDomainSize) - { + if (dwUserSize && dwDomainSize) { SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_USER); SetBit(dwRequestFlags, MRIM_CS_WP_REQUEST_PARAM_DOMAIN); } diff --git a/protocols/MRA/src/MraAvatars.cpp b/protocols/MRA/src/MraAvatars.cpp index 344b754391..3439efd420 100644 --- a/protocols/MRA/src/MraAvatars.cpp +++ b/protocols/MRA/src/MraAvatars.cpp @@ -80,7 +80,7 @@ DWORD CMraProto::MraAvatarsQueueInitialize(HANDLE *phAvatarsQueueHandle) pmraaqAvatarsQueue->iThreadsCount = 1; if (pmraaqAvatarsQueue->iThreadsCount > MAXIMUM_WAIT_OBJECTS) pmraaqAvatarsQueue->iThreadsCount = MAXIMUM_WAIT_OBJECTS; - for (int i=0; i < pmraaqAvatarsQueue->iThreadsCount; i++) + for (int i = 0; i < pmraaqAvatarsQueue->iThreadsCount; i++) pmraaqAvatarsQueue->hThread[i] = ForkThreadEx(&CMraProto::MraAvatarsThreadProc, pmraaqAvatarsQueue, 0); *phAvatarsQueueHandle = (HANDLE)pmraaqAvatarsQueue; @@ -92,13 +92,13 @@ DWORD CMraProto::MraAvatarsQueueInitialize(HANDLE *phAvatarsQueueHandle) void CMraProto::MraAvatarsQueueClear(HANDLE hAvatarsQueueHandle) { - if ( !hAvatarsQueueHandle) + if (!hAvatarsQueueHandle) return; MRA_AVATARS_QUEUE *pmraaqAvatarsQueue = (MRA_AVATARS_QUEUE*)hAvatarsQueueHandle; MRA_AVATARS_QUEUE_ITEM *pmraaqiAvatarsQueueItem; - PROTO_AVATAR_INFORMATIONT pai = {0}; + PROTO_AVATAR_INFORMATIONT pai = { 0 }; pai.cbSize = sizeof(pai); pai.format = PA_FORMAT_UNKNOWN; @@ -118,15 +118,15 @@ void CMraProto::MraAvatarsQueueSuspend(HANDLE hAvatarsQueueHandle) void CMraProto::MraAvatarsQueueDestroy(HANDLE hAvatarsQueueHandle) { - if ( !hAvatarsQueueHandle) + if (!hAvatarsQueueHandle) return; MRA_AVATARS_QUEUE *pmraaqAvatarsQueue = (MRA_AVATARS_QUEUE*)hAvatarsQueueHandle; if (InterlockedExchangeAdd((volatile LONG*)&pmraaqAvatarsQueue->lThreadsRunningCount, 0)) - while (InterlockedExchangeAdd((volatile LONG*)&pmraaqAvatarsQueue->lThreadsRunningCount, 0)) - SleepEx(100, TRUE); + while (InterlockedExchangeAdd((volatile LONG*)&pmraaqAvatarsQueue->lThreadsRunningCount, 0)) + SleepEx(100, TRUE); - for (int i=0; i < pmraaqAvatarsQueue->iThreadsCount; i++) + for (int i = 0; i < pmraaqAvatarsQueue->iThreadsCount; i++) CloseHandle(pmraaqAvatarsQueue->hThread[i]); CloseHandle(pmraaqAvatarsQueue->hThreadEvent); @@ -139,12 +139,12 @@ void CMraProto::MraAvatarsQueueDestroy(HANDLE hAvatarsQueueHandle) DWORD CMraProto::MraAvatarsQueueAdd(HANDLE hAvatarsQueueHandle, DWORD dwFlags, HANDLE hContact, DWORD *pdwAvatarsQueueID) { - if ( !hAvatarsQueueHandle) + if (!hAvatarsQueueHandle) return ERROR_INVALID_HANDLE; MRA_AVATARS_QUEUE *pmraaqAvatarsQueue = (MRA_AVATARS_QUEUE*)hAvatarsQueueHandle; MRA_AVATARS_QUEUE_ITEM *pmraaqiAvatarsQueueItem = (MRA_AVATARS_QUEUE_ITEM*)mir_calloc(sizeof(MRA_AVATARS_QUEUE_ITEM)); - if ( !pmraaqiAvatarsQueueItem) + if (!pmraaqiAvatarsQueueItem) return GetLastError(); pmraaqiAvatarsQueueItem->dwAvatarsQueueID = GetTickCount(); @@ -172,7 +172,7 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) FILETIME ftLastModifiedTimeServer, ftLastModifiedTimeLocal; SYSTEMTIME stAvatarLastModifiedTimeLocal; HANDLE m_hConnection = NULL; - NETLIBSELECT nls = {0}; + NETLIBSELECT nls = { 0 }; INTERNET_TIME itAvatarLastModifiedTimeServer; PROTO_AVATAR_INFORMATIONT pai; WCHAR szErrorText[2048]; @@ -182,18 +182,18 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) InterlockedIncrement((volatile LONG*)&pmraaqAvatarsQueue->lThreadsRunningCount); - while ( InterlockedExchangeAdd((volatile LONG*)&pmraaqAvatarsQueue->bIsRunning, 0)) { - if ( FifoMTItemPop(pmraaqAvatarsQueue, NULL, (LPVOID*)&pmraaqiAvatarsQueueItem) == NO_ERROR) { + while (InterlockedExchangeAdd((volatile LONG*)&pmraaqAvatarsQueue->bIsRunning, 0)) { + if (FifoMTItemPop(pmraaqAvatarsQueue, NULL, (LPVOID*)&pmraaqiAvatarsQueueItem) == NO_ERROR) { bFailed = TRUE; bDownloadNew = FALSE; bDefaultAvt = FALSE; - if ( !DB_GetStringA(NULL, MRA_AVT_SECT_NAME, "Server", szServer)) + if (!DB_GetStringA(NULL, MRA_AVT_SECT_NAME, "Server", szServer)) szServer = MRA_AVT_DEFAULT_SERVER; dwServerPort = db_get_dw(NULL, MRA_AVT_SECT_NAME, "ServerPort", MRA_AVT_DEFAULT_SERVER_PORT); bUseKeepAliveConn = db_get_b(NULL, MRA_AVT_SECT_NAME, "UseKeepAliveConn", MRA_AVT_DEFAULT_USE_KEEPALIVE_CONN); - if ( mraGetStringA(pmraaqiAvatarsQueueItem->hContact, "e-mail", szEmail)) { + if (mraGetStringA(pmraaqiAvatarsQueueItem->hContact, "e-mail", szEmail)) { szEmail.MakeLower(); int iStart = 0; @@ -206,21 +206,20 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) if (m_hConnection) { ProtoBroadcastAck(pmraaqiAvatarsQueueItem->hContact, ACKTYPE_AVATAR, ACKRESULT_CONNECTED, NULL, 0); ProtoBroadcastAck(pmraaqiAvatarsQueueItem->hContact, ACKTYPE_AVATAR, ACKRESULT_SENTREQUEST, NULL, 0); - if ( !MraAvatarsHttpTransaction(m_hConnection, REQUEST_HEAD, szUser, szDomain, szServer, MAHTRO_AVTMRIM, bUseKeepAliveConn, &dwResultCode, &bKeepAlive, &dwAvatarFormat, &dwAvatarSizeServer, &itAvatarLastModifiedTimeServer)) { + if (!MraAvatarsHttpTransaction(m_hConnection, REQUEST_HEAD, szUser, szDomain, szServer, MAHTRO_AVTMRIM, bUseKeepAliveConn, &dwResultCode, &bKeepAlive, &dwAvatarFormat, &dwAvatarSizeServer, &itAvatarLastModifiedTimeServer)) { switch (dwResultCode) { case 200: if (MraAvatarsGetContactTime(pmraaqiAvatarsQueueItem->hContact, "AvatarLastModifiedTime", &stAvatarLastModifiedTimeLocal)) { SystemTimeToFileTime(&itAvatarLastModifiedTimeServer.stTime, &ftLastModifiedTimeServer); SystemTimeToFileTime(&stAvatarLastModifiedTimeLocal, &ftLastModifiedTimeLocal); - if ((*((DWORDLONG*)&ftLastModifiedTimeServer)) != (*((DWORDLONG*)&ftLastModifiedTimeLocal))) - {// need check for update + if ((*((DWORDLONG*)&ftLastModifiedTimeServer)) != (*((DWORDLONG*)&ftLastModifiedTimeLocal))) {// need check for update bDownloadNew = TRUE; //ProtoBroadcastAck(pmraaqiAvatarsQueueItem->hContact, ACKTYPE_AVATAR, ACKRESULT_STATUS, 0, 0); } else {// avatar is valid if (MraAvatarsGetFileName(pmraaqAvatarsQueue, pmraaqiAvatarsQueueItem->hContact, dwAvatarFormat, wszFileName) == NO_ERROR) { - if ( IsFileExist( wszFileName )) + if (IsFileExist(wszFileName)) bFailed = FALSE; else bDownloadNew = TRUE; @@ -233,7 +232,7 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) break; case 404:// return def avatar if (MraAvatarsGetFileName((HANDLE)pmraaqAvatarsQueue, NULL, PA_FORMAT_DEFAULT, wszFileName) == NO_ERROR) { - if ( IsFileExist( wszFileName )) { + if (IsFileExist(wszFileName)) { dwAvatarFormat = ProtoGetAvatarFormat(wszFileName); bFailed = FALSE; } @@ -263,15 +262,15 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) if (bDefaultAvt) dwAvatarFormat = PA_FORMAT_DEFAULT; - if ( !MraAvatarsGetFileName(pmraaqAvatarsQueue, pmraaqiAvatarsQueueItem->hContact, dwAvatarFormat, wszFileName)) { + if (!MraAvatarsGetFileName(pmraaqAvatarsQueue, pmraaqiAvatarsQueueItem->hContact, dwAvatarFormat, wszFileName)) { HANDLE hFile = CreateFile(wszFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile != INVALID_HANDLE_VALUE) { DWORD dwWritten = 0; bContinue = TRUE; - nls.dwTimeout = (1000*db_get_dw(NULL, MRA_AVT_SECT_NAME, "TimeOutReceive", MRA_AVT_DEFAULT_TIMEOUT_RECV)); + nls.dwTimeout = (1000 * db_get_dw(NULL, MRA_AVT_SECT_NAME, "TimeOutReceive", MRA_AVT_DEFAULT_TIMEOUT_RECV)); nls.hReadConns[0] = m_hConnection; - while ( bContinue ) { + while (bContinue) { switch (CallService(MS_NETLIB_SELECT, 0, (LPARAM)&nls)) { case SOCKET_ERROR: case 0:// Time out @@ -287,7 +286,7 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) bContinue = FALSE; } else { - if ( WriteFile( hFile, (LPVOID)&btBuff, dwReceived, &dwReceived, NULL)) { + if (WriteFile(hFile, (LPVOID)&btBuff, dwReceived, &dwReceived, NULL)) { dwWritten += dwReceived; if (dwWritten >= dwAvatarSizeServer) bContinue = FALSE; @@ -329,7 +328,7 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) else { pai.hContact = pmraaqiAvatarsQueueItem->hContact; pai.format = dwAvatarFormat; - if ( db_get_b(NULL, MRA_AVT_SECT_NAME, "ReturnAbsolutePath", MRA_AVT_DEFAULT_RET_ABC_PATH)) + if (db_get_b(NULL, MRA_AVT_SECT_NAME, "ReturnAbsolutePath", MRA_AVT_DEFAULT_RET_ABC_PATH)) lstrcpyn(pai.filename, wszFileName, SIZEOF(pai.filename)); else PathToRelativeT(wszFileName, pai.filename); @@ -338,7 +337,7 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) SetContactAvatarFormat(pmraaqiAvatarsQueueItem->hContact, dwAvatarFormat); MraAvatarsSetContactTime(pmraaqiAvatarsQueueItem->hContact, "AvatarLastModifiedTime", &itAvatarLastModifiedTimeServer.stTime); // write owner avatar file name to DB - if ( pmraaqiAvatarsQueueItem->hContact == NULL) // proto avatar + if (pmraaqiAvatarsQueueItem->hContact == NULL) // proto avatar CallService(MS_AV_REPORTMYAVATARCHANGED, (WPARAM)m_szModuleName, 0); ProtoBroadcastAck(pmraaqiAvatarsQueueItem->hContact, ACKTYPE_AVATAR, ACKRESULT_SUCCESS, (HANDLE)&pai, 0); @@ -356,11 +355,11 @@ void CMraProto::MraAvatarsThreadProc(LPVOID lpParameter) HANDLE MraAvatarsHttpConnect(HANDLE m_hNetlibUser, LPCSTR lpszHost, DWORD dwPort) { - NETLIBOPENCONNECTION nloc = {0}; + NETLIBOPENCONNECTION nloc = { 0 }; nloc.cbSize = sizeof(nloc); - nloc.flags = (NLOCF_HTTP|NLOCF_V2); + nloc.flags = (NLOCF_HTTP | NLOCF_V2); nloc.szHost = lpszHost; - nloc.wPort = ( IsHTTPSProxyUsed(m_hNetlibUser)) ? MRA_SERVER_PORT_HTTPS : dwPort; + nloc.wPort = (IsHTTPSProxyUsed(m_hNetlibUser)) ? MRA_SERVER_PORT_HTTPS : dwPort; nloc.timeout = db_get_dw(NULL, MRA_AVT_SECT_NAME, "TimeOutConnect", MRA_AVT_DEFAULT_TIMEOUT_CONN); if (nloc.timeout < MRA_TIMEOUT_CONN_MIN) nloc.timeout = MRA_TIMEOUT_CONN_MIN; if (nloc.timeout > MRA_TIMEOUT_CONN_MAX) nloc.timeout = MRA_TIMEOUT_CONN_MAX; @@ -371,7 +370,7 @@ HANDLE MraAvatarsHttpConnect(HANDLE m_hNetlibUser, LPCSTR lpszHost, DWORD dwPort do { m_hConnection = (HANDLE)CallService(MS_NETLIB_OPENCONNECTION, (WPARAM)m_hNetlibUser, (LPARAM)&nloc); } - while (--dwCurConnectReTryCount && m_hConnection == NULL); + while (--dwCurConnectReTryCount && m_hConnection == NULL); return m_hConnection; } @@ -401,16 +400,16 @@ DWORD MraAvatarsHttpTransaction(HANDLE m_hConnection, DWORD dwRequestType, LPCST DWORD dwBuffSize = mir_snprintf(szBuff, SIZEOF(szBuff), "http://%s/%s/%s/%s", lpszHost, lpszDomain, lpszUser, lpszReqObj); CMStringA szSelfVersionString = MraGetSelfVersionString(); - NETLIBHTTPHEADER nlbhHeaders[8] = {0}; + NETLIBHTTPHEADER nlbhHeaders[8] = { 0 }; nlbhHeaders[0].szName = "User-Agent"; nlbhHeaders[0].szValue = (LPSTR)szSelfVersionString.c_str(); nlbhHeaders[1].szName = "Accept-Encoding"; nlbhHeaders[1].szValue = "deflate"; nlbhHeaders[2].szName = "Pragma"; nlbhHeaders[2].szValue = "no-cache"; - nlbhHeaders[3].szName = "Connection"; nlbhHeaders[3].szValue = (bUseKeepAliveConn)? "keep-alive":"close"; + nlbhHeaders[3].szName = "Connection"; nlbhHeaders[3].szValue = (bUseKeepAliveConn) ? "keep-alive" : "close"; - NETLIBHTTPREQUEST nlhr = {0}; + NETLIBHTTPREQUEST nlhr = { 0 }; nlhr.cbSize = sizeof(nlhr); nlhr.requestType = dwRequestType; - nlhr.flags = (NLHRF_GENERATEHOST|NLHRF_SMARTREMOVEHOST|NLHRF_SMARTAUTHHEADER); + nlhr.flags = (NLHRF_GENERATEHOST | NLHRF_SMARTREMOVEHOST | NLHRF_SMARTAUTHHEADER); nlhr.szUrl = szBuff; nlhr.headers = (NETLIBHTTPHEADER*)&nlbhHeaders; nlhr.headersCount = 4; @@ -424,25 +423,25 @@ DWORD MraAvatarsHttpTransaction(HANDLE m_hConnection, DWORD dwRequestType, LPCST return GetLastError(); for (int i = 0; i < pnlhr->headersCount; i++) { - if ( !_strnicmp(pnlhr->headers[i].szName, "Connection", 10)) { + if (!_strnicmp(pnlhr->headers[i].szName, "Connection", 10)) { if (pbKeepAlive) *pbKeepAlive = !_strnicmp(pnlhr->headers[i].szValue, "keep-alive", 10); } - else if ( !_strnicmp(pnlhr->headers[i].szName, "Content-Type", 12)) { + else if (!_strnicmp(pnlhr->headers[i].szName, "Content-Type", 12)) { if (pdwFormat) { for (DWORD j = 0; j < PA_FORMAT_MAX; j++) { - if ( !_stricmp(pnlhr->headers[i].szValue, lpcszContentType[j])) { + if (!_stricmp(pnlhr->headers[i].szValue, lpcszContentType[j])) { *pdwFormat = j; break; } } } } - else if ( !_strnicmp(pnlhr->headers[i].szName, "Content-Length", 14)) { + else if (!_strnicmp(pnlhr->headers[i].szName, "Content-Length", 14)) { if (pdwAvatarSize) *pdwAvatarSize = atol(pnlhr->headers[i].szValue); } - else if ( !_strnicmp(pnlhr->headers[i].szName, "Last-Modified", 13)) { + else if (!_strnicmp(pnlhr->headers[i].szName, "Last-Modified", 13)) { if (pitLastModifiedTime) InternetTimeGetTime(pnlhr->headers[i].szValue, *pitLastModifiedTime); } @@ -499,7 +498,7 @@ DWORD CMraProto::MraAvatarsGetFileName(HANDLE hAvatarsQueueHandle, HANDLE hConta MRA_AVATARS_QUEUE *pmraaqAvatarsQueue = (MRA_AVATARS_QUEUE*)hAvatarsQueueHandle; TCHAR tszBase[MAX_PATH]; - mir_sntprintf(tszBase, SIZEOF(tszBase), _T("%s\\%s\\"), VARST( _T("%miranda_avatarcache%")), m_tszUserName); + mir_sntprintf(tszBase, SIZEOF(tszBase), _T("%s\\%s\\"), VARST(_T("%miranda_avatarcache%")), m_tszUserName); res = tszBase; // some path in buff and free space for file name is avaible @@ -507,7 +506,7 @@ DWORD CMraProto::MraAvatarsGetFileName(HANDLE hAvatarsQueueHandle, HANDLE hConta if (dwFormat != PA_FORMAT_DEFAULT) { CMStringW szEmail; - if ( mraGetStringW(hContact, "e-mail", szEmail)) { + if (mraGetStringW(hContact, "e-mail", szEmail)) { szEmail.MakeLower(); res += szEmail + ProtoGetAvatarExtension(dwFormat); return NO_ERROR; @@ -515,7 +514,7 @@ DWORD CMraProto::MraAvatarsGetFileName(HANDLE hAvatarsQueueHandle, HANDLE hConta } else { CMStringW szDefName; - if ( !DB_GetStringW(NULL, MRA_AVT_SECT_NAME, "DefaultAvatarFileName", szDefName)) { + if (!DB_GetStringW(NULL, MRA_AVT_SECT_NAME, "DefaultAvatarFileName", szDefName)) { res += MRA_AVT_DEFAULT_AVT_FILENAME; return NO_ERROR; } @@ -545,9 +544,9 @@ DWORD CMraProto::MraAvatarsQueueGetAvatar(HANDLE hAvatarsQueueHandle, DWORD dwFl SystemTimeToFileTime(&stAvatarLastCheckTime, &ftExpireTime); (*((DWORDLONG*)&ftExpireTime)) += (FILETIME_MINUTE*(DWORDLONG)db_get_dw(NULL, MRA_AVT_SECT_NAME, "CheckInterval", MRA_AVT_DEFAULT_CHK_INTERVAL)); - if ((*((DWORDLONG*)&ftExpireTime))>(*((DWORDLONG*)&ftCurrentTime))) - if ( MraAvatarsGetFileName(hAvatarsQueueHandle, hContact, GetContactAvatarFormat(hContact, PA_FORMAT_DEFAULT), wszFileName) == NO_ERROR) - if ( IsFileExist( wszFileName )) { + if ((*((DWORDLONG*)&ftExpireTime)) > (*((DWORDLONG*)&ftCurrentTime))) + if (MraAvatarsGetFileName(hAvatarsQueueHandle, hContact, GetContactAvatarFormat(hContact, PA_FORMAT_DEFAULT), wszFileName) == NO_ERROR) + if (IsFileExist(wszFileName)) { // файл с аватаром существует и не устарел/не было комманды обновлять(просто запрос имени) if (lpszPath) { if (db_get_b(NULL, MRA_AVT_SECT_NAME, "ReturnAbsolutePath", MRA_AVT_DEFAULT_RET_ABC_PATH)) @@ -563,7 +562,7 @@ DWORD CMraProto::MraAvatarsQueueGetAvatar(HANDLE hAvatarsQueueHandle, DWORD dwFl } if (bQueueAdd || (dwFlags & GAIF_FORCE)) - if ( !MraAvatarsQueueAdd(hAvatarsQueueHandle, dwFlags, hContact, pdwAvatarsQueueID)) { + if (!MraAvatarsQueueAdd(hAvatarsQueueHandle, dwFlags, hContact, pdwAvatarsQueueID)) { MraAvatarsSetContactTime(hContact, "AvatarLastCheckTime", NULL); dwRetCode = GAIR_WAITFOR; } @@ -575,10 +574,10 @@ DWORD CMraProto::MraAvatarsQueueGetAvatarSimple(HANDLE hAvatarsQueueHandle, DWOR { DWORD dwRetCode = GAIR_NOAVATAR; - PROTO_AVATAR_INFORMATIONT pai = {0}; + PROTO_AVATAR_INFORMATIONT pai = { 0 }; pai.cbSize = sizeof(pai); pai.hContact = hContact; - if ((dwRetCode = MraAvatarsQueueGetAvatar(hAvatarsQueueHandle, dwFlags, hContact, NULL, (DWORD*)&pai.format, pai.filename )) == GAIR_SUCCESS ) { + if ((dwRetCode = MraAvatarsQueueGetAvatar(hAvatarsQueueHandle, dwFlags, hContact, NULL, (DWORD*)&pai.format, pai.filename)) == GAIR_SUCCESS) { // write owner avatar file name to DB if (hContact == NULL) CallService(MS_AV_REPORTMYAVATARCHANGED, (WPARAM)m_szModuleName, 0); @@ -645,18 +644,16 @@ INT_PTR CALLBACK MraAvatarsQueueDlgProcOpts(HWND hWndDlg, UINT msg, WPARAM wPara case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: - { - db_set_b(NULL, MRA_AVT_SECT_NAME, "Enable", IsDlgButtonChecked(hWndDlg, IDC_ENABLE)); - db_set_b(NULL, MRA_AVT_SECT_NAME, "DeleteAvtOnContactDelete", IsDlgButtonChecked(hWndDlg, IDC_DELETE_AVT_ON_CONTACT_DELETE)); - db_set_b(NULL, MRA_AVT_SECT_NAME, "ReturnAbsolutePath", IsDlgButtonChecked(hWndDlg, IDC_RETURN_ABC_PATH)); - db_set_dw(NULL, MRA_AVT_SECT_NAME, "CheckInterval", GetDlgItemInt(hWndDlg, IDC_UPD_CHECK_INTERVAL, NULL, FALSE)); - db_set_b(NULL, MRA_AVT_SECT_NAME, "UseKeepAliveConn", IsDlgButtonChecked(hWndDlg, IDC_USE_KEEPALIVE_CONN)); - db_set_dw(NULL, MRA_AVT_SECT_NAME, "ServerPort", GetDlgItemInt(hWndDlg, IDC_SERVERPORT, NULL, FALSE)); - - TCHAR szServer[MAX_PATH]; - GetDlgItemText(hWndDlg, IDC_SERVER, szServer, SIZEOF(szServer)); - db_set_ts(NULL, MRA_AVT_SECT_NAME, "Server", szServer); - } + db_set_b(NULL, MRA_AVT_SECT_NAME, "Enable", IsDlgButtonChecked(hWndDlg, IDC_ENABLE)); + db_set_b(NULL, MRA_AVT_SECT_NAME, "DeleteAvtOnContactDelete", IsDlgButtonChecked(hWndDlg, IDC_DELETE_AVT_ON_CONTACT_DELETE)); + db_set_b(NULL, MRA_AVT_SECT_NAME, "ReturnAbsolutePath", IsDlgButtonChecked(hWndDlg, IDC_RETURN_ABC_PATH)); + db_set_dw(NULL, MRA_AVT_SECT_NAME, "CheckInterval", GetDlgItemInt(hWndDlg, IDC_UPD_CHECK_INTERVAL, NULL, FALSE)); + db_set_b(NULL, MRA_AVT_SECT_NAME, "UseKeepAliveConn", IsDlgButtonChecked(hWndDlg, IDC_USE_KEEPALIVE_CONN)); + db_set_dw(NULL, MRA_AVT_SECT_NAME, "ServerPort", GetDlgItemInt(hWndDlg, IDC_SERVERPORT, NULL, FALSE)); + + TCHAR szServer[MAX_PATH]; + GetDlgItemText(hWndDlg, IDC_SERVER, szServer, SIZEOF(szServer)); + db_set_ts(NULL, MRA_AVT_SECT_NAME, "Server", szServer); return TRUE; } break; @@ -673,9 +670,9 @@ DWORD CMraProto::MraAvatarsDeleteContactAvatarFile(HANDLE hAvatarsQueueHandle, H MRA_AVATARS_QUEUE *pmraaqAvatarsQueue = (MRA_AVATARS_QUEUE*)hAvatarsQueueHandle; DWORD dwAvatarFormat = GetContactAvatarFormat(hContact, PA_FORMAT_UNKNOWN); - if ( db_get_b(NULL, MRA_AVT_SECT_NAME, "DeleteAvtOnContactDelete", MRA_DELETE_AVT_ON_CONTACT_DELETE) && dwAvatarFormat != PA_FORMAT_DEFAULT) { + if (db_get_b(NULL, MRA_AVT_SECT_NAME, "DeleteAvtOnContactDelete", MRA_DELETE_AVT_ON_CONTACT_DELETE) && dwAvatarFormat != PA_FORMAT_DEFAULT) { CMStringW szFileName; - if ( !MraAvatarsGetFileName(hAvatarsQueueHandle, hContact, dwAvatarFormat, szFileName)) + if (!MraAvatarsGetFileName(hAvatarsQueueHandle, hContact, dwAvatarFormat, szFileName)) return DeleteFile(szFileName); } return NO_ERROR; diff --git a/protocols/MRA/src/MraChat.cpp b/protocols/MRA/src/MraChat.cpp index 27573e70eb..c6363029ad 100644 --- a/protocols/MRA/src/MraChat.cpp +++ b/protocols/MRA/src/MraChat.cpp @@ -8,12 +8,12 @@ static LPWSTR lpwszStatuses[] = { L"Owners", L"Inviter", L"Visitors" }; void CMraProto::MraChatDllError() { - MessageBox(NULL, TranslateT("CHAT plugin is required for conferences. Install it before chatting"), m_tszUserName, (MB_OK|MB_ICONWARNING)); + MessageBox(NULL, TranslateT("CHAT plugin is required for conferences. Install it before chatting"), m_tszUserName, (MB_OK | MB_ICONWARNING)); } bool CMraProto::MraChatRegister() { - if ( !ServiceExists(MS_GC_REGISTER)) + if (!ServiceExists(MS_GC_REGISTER)) return FALSE; GCREGISTER gcr = { sizeof(gcr) }; @@ -41,7 +41,7 @@ INT_PTR CMraProto::MraChatSessionNew(HANDLE hContact) gcw.ptszID = wszEMail; gcw.ptszStatusbarText = _T("status bar"); gcw.dwItemData = (DWORD)hContact; - if ( !CallServiceSync(MS_GC_NEWSESSION, NULL, (LPARAM)&gcw)) { + if (!CallServiceSync(MS_GC_NEWSESSION, NULL, (LPARAM)&gcw)) { GCDEST gcd = { m_szModuleName, wszEMail.c_str(), GC_EVENT_ADDGROUP }; GCEVENT gce = { sizeof(gce), &gcd }; for (int i = 0; i < SIZEOF(lpwszStatuses); i++) { @@ -189,7 +189,7 @@ int CMraProto::MraChatGcEventHook(WPARAM, LPARAM lParam) if (bChatExists) { GCHOOK* gch = (GCHOOK*)lParam; - if ( !_stricmp(gch->pDest->pszModule, m_szModuleName)) { + if (!_stricmp(gch->pDest->pszModule, m_szModuleName)) { switch (gch->pDest->iType) { case GC_USER_MESSAGE: if (gch->ptszText && lstrlen(gch->ptszText)) { @@ -211,7 +211,7 @@ int CMraProto::MraChatGcEventHook(WPARAM, LPARAM lParam) break; case GC_USER_PRIVMESS: - MraChatSendPrivateMessage( _T2A(gch->ptszUID)); + MraChatSendPrivateMessage(_T2A(gch->ptszUID)); break; case GC_USER_LOGMENU: diff --git a/protocols/MRA/src/MraFilesQueue.cpp b/protocols/MRA/src/MraFilesQueue.cpp index a0f7abbc1e..f4cb2918ee 100644 --- a/protocols/MRA/src/MraFilesQueue.cpp +++ b/protocols/MRA/src/MraFilesQueue.cpp @@ -114,20 +114,18 @@ INT_PTR CALLBACK MraFilesQueueDlgProcOpts(HWND hWndDlg, UINT msg, WPARAM wParam, case WM_NOTIFY: switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: - { - WCHAR szBuff[MAX_PATH]; - - ppro->setByte("FileSendEnableDirectConn", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_ENABLE_DIRECT_CONN)); - ppro->setByte("FileSendNoOutConnOnRcv", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_NOOUTCONNECTIONONRECEIVE)); - ppro->setByte("FileSendNoOutConnOnSend", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_NOOUTCONNECTIONONSEND)); - ppro->setByte("FileSendIgnoryAdditionalPorts", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_IGNORYADDITIONALPORTS)); - ppro->setByte("FileSendHideMyAddresses", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_HIDE_MY_ADDRESSES)); - ppro->setByte("FileSendAddExtraAddresses", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_ADD_EXTRA_ADDRESS)); - GetDlgItemText(hWndDlg, IDC_FILE_SEND_EXTRA_ADDRESS, szBuff, SIZEOF(szBuff)); - ppro->mraSetStringW(NULL, "FileSendExtraAddresses", szBuff); - ppro->setDword("FileSendBlockSize", (DWORD)GetDlgItemInt(hWndDlg, IDC_FILE_SEND_BLOCK_SIZE, NULL, FALSE)); - ppro->setByte("FileSendEnableMRIMProxyCons", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_ENABLE_MRIMPROXY_CONS)); - } + ppro->setByte("FileSendEnableDirectConn", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_ENABLE_DIRECT_CONN)); + ppro->setByte("FileSendNoOutConnOnRcv", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_NOOUTCONNECTIONONRECEIVE)); + ppro->setByte("FileSendNoOutConnOnSend", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_NOOUTCONNECTIONONSEND)); + ppro->setByte("FileSendIgnoryAdditionalPorts", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_IGNORYADDITIONALPORTS)); + ppro->setByte("FileSendHideMyAddresses", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_HIDE_MY_ADDRESSES)); + ppro->setByte("FileSendAddExtraAddresses", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_ADD_EXTRA_ADDRESS)); + + WCHAR szBuff[MAX_PATH]; + GetDlgItemText(hWndDlg, IDC_FILE_SEND_EXTRA_ADDRESS, szBuff, SIZEOF(szBuff)); + ppro->mraSetStringW(NULL, "FileSendExtraAddresses", szBuff); + ppro->setDword("FileSendBlockSize", (DWORD)GetDlgItemInt(hWndDlg, IDC_FILE_SEND_BLOCK_SIZE, NULL, FALSE)); + ppro->setByte("FileSendEnableMRIMProxyCons", IsDlgButtonChecked(hWndDlg, IDC_FILE_SEND_ENABLE_MRIMPROXY_CONS)); return TRUE; } break; @@ -159,14 +157,14 @@ DWORD MraFilesQueueInitialize(DWORD dwSendTimeOutInterval, HANDLE *phFilesQueueH void MraFilesQueueDestroy(HANDLE hFilesQueueHandle) { - if ( !hFilesQueueHandle) + if (!hFilesQueueHandle) return; MRA_FILES_QUEUE *pmrafqFilesQueue = (MRA_FILES_QUEUE*)hFilesQueueHandle; MRA_FILES_QUEUE_ITEM *dat; { mt_lock l(pmrafqFilesQueue); - while ( ListMTItemGetFirst(pmrafqFilesQueue, NULL, (LPVOID*)&dat) == NO_ERROR) + while (ListMTItemGetFirst(pmrafqFilesQueue, NULL, (LPVOID*)&dat) == NO_ERROR) MraFilesQueueItemFree(dat); } ListMTDestroy(pmrafqFilesQueue); @@ -192,7 +190,7 @@ DWORD MraFilesQueueItemFindByID(HANDLE hFilesQueueHandle, DWORD dwIDRequest, MRA return 0; } } - while (ListMTIteratorMoveNext(&lmtiIterator)); + while (ListMTIteratorMoveNext(&lmtiIterator)); return ERROR_NOT_FOUND; } @@ -200,7 +198,7 @@ DWORD MraFilesQueueItemFindByID(HANDLE hFilesQueueHandle, DWORD dwIDRequest, MRA HANDLE MraFilesQueueItemProxyByID(HANDLE hFilesQueueHandle, DWORD dwIDRequest) { MRA_FILES_QUEUE_ITEM *dat; - if ( !MraFilesQueueItemFindByID(hFilesQueueHandle, dwIDRequest, &dat)) + if (!MraFilesQueueItemFindByID(hFilesQueueHandle, dwIDRequest, &dat)) return dat->hMraMrimProxyData; return NULL; @@ -208,9 +206,9 @@ HANDLE MraFilesQueueItemProxyByID(HANDLE hFilesQueueHandle, DWORD dwIDRequest) void MraFilesQueueItemFree(MRA_FILES_QUEUE_ITEM *dat) { - LIST_MT *plmtListMT = (LIST_MT*)dat->lpListMT; + LIST_MT *plmtListMT = (LIST_MT*)dat->lpListMT; - for (size_t i = 0;idwFilesCount;i++) + for (size_t i = 0; i < dat->dwFilesCount; i++) mir_free(dat->pmfqfFiles[i].lpwszName); mir_free(dat->pmfqfFiles); @@ -230,11 +228,9 @@ size_t CMraProto::MraFilesQueueGetLocalAddressesList(LPSTR lpszBuff, size_t dwBu { LPSTR lpszCurPos = lpszBuff; - if (getByte("FileSendHideMyAddresses", MRA_DEF_FS_HIDE_MY_ADDRESSES)) - {// не выдаём врагу наш IP адрес!!! :) - if (getByte("FileSendAddExtraAddresses", MRA_DEF_FS_ADD_EXTRA_ADDRESSES) == FALSE) - {// только если не добавляем адрес роутера - lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize-((size_t)lpszCurPos-(size_t)lpszBuff)), MRA_FILES_NULL_ADDRR); + if (getByte("FileSendHideMyAddresses", MRA_DEF_FS_HIDE_MY_ADDRESSES)) {// не выдаём врагу наш IP адрес!!! :) + if (getByte("FileSendAddExtraAddresses", MRA_DEF_FS_ADD_EXTRA_ADDRESSES) == FALSE) {// только если не добавляем адрес роутера + lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize - ((size_t)lpszCurPos - (size_t)lpszBuff)), MRA_FILES_NULL_ADDRR); } } else {// создаём список наших IP адресов @@ -246,14 +242,14 @@ size_t CMraProto::MraFilesQueueGetLocalAddressesList(LPSTR lpszBuff, size_t dwBu dwSelfExternalIP = ntohl(getDword("IP", 0)); if (dwSelfExternalIP) { memmove(&btAddress, &dwSelfExternalIP, sizeof(DWORD)); - lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize-((size_t)lpszCurPos-(size_t)lpszBuff)), "%lu.%lu.%lu.%lu:%lu;", btAddress[0], btAddress[1], btAddress[2], btAddress[3], dwPort); + lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize - ((size_t)lpszCurPos - (size_t)lpszBuff)), "%lu.%lu.%lu.%lu:%lu;", btAddress[0], btAddress[1], btAddress[2], btAddress[3], dwPort); } - CHAR szHostName[MAX_PATH] = {0}; + CHAR szHostName[MAX_PATH] = { 0 }; if (gethostname(szHostName, SIZEOF(szHostName)) == 0) if ((sh = gethostbyname((LPSTR)&szHostName))) { while (sh->h_addr_list[dwAdapter]) { - lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize-((size_t)lpszCurPos-(size_t)lpszBuff)), "%s:%lu;", inet_ntoa(*((struct in_addr*)sh->h_addr_list[dwAdapter])), dwPort); + lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize - ((size_t)lpszCurPos - (size_t)lpszBuff)), "%s:%lu;", inet_ntoa(*((struct in_addr*)sh->h_addr_list[dwAdapter])), dwPort); dwAdapter++; } } @@ -262,14 +258,14 @@ size_t CMraProto::MraFilesQueueGetLocalAddressesList(LPSTR lpszBuff, size_t dwBu CMStringA szHostName; if (getByte("FileSendAddExtraAddresses", MRA_DEF_FS_ADD_EXTRA_ADDRESSES))// добавляем произвольный адрес if (mraGetStringA(NULL, "FileSendExtraAddresses", szHostName)) - lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize-((size_t)lpszCurPos-(size_t)lpszBuff)), "%s:%lu;", szHostName.c_str(), dwPort); + lpszCurPos += mir_snprintf(lpszCurPos, (dwBuffSize - ((size_t)lpszCurPos - (size_t)lpszBuff)), "%s:%lu;", szHostName.c_str(), dwPort); return lpszCurPos - lpszBuff; } DWORD CMraProto::MraFilesQueueAccept(HANDLE hFilesQueueHandle, DWORD dwIDRequest, LPCWSTR lpwszPath, size_t dwPathSize) { - if ( !hFilesQueueHandle || !lpwszPath || !dwPathSize) + if (!hFilesQueueHandle || !lpwszPath || !dwPathSize) return ERROR_INVALID_HANDLE; MRA_FILES_QUEUE *pmrafqFilesQueue = (MRA_FILES_QUEUE*)hFilesQueueHandle; @@ -283,11 +279,10 @@ DWORD CMraProto::MraFilesQueueAccept(HANDLE hFilesQueueHandle, DWORD dwIDRequest dat->dwPathSize = dwPathSize; memmove(dat->lpwszPath, lpwszPath, (dwPathSize*sizeof(WCHAR))); - if ( (*(WCHAR*)(dat->lpwszPath+(dat->dwPathSize-1))) != '\\') - {// add slash at the end if needed - (*(WCHAR*)(dat->lpwszPath+dat->dwPathSize)) = '\\'; + if ((*(WCHAR*)(dat->lpwszPath + (dat->dwPathSize - 1))) != '\\') {// add slash at the end if needed + (*(WCHAR*)(dat->lpwszPath + dat->dwPathSize)) = '\\'; dat->dwPathSize++; - (*(WCHAR*)(dat->lpwszPath+dat->dwPathSize)) = 0; + (*(WCHAR*)(dat->lpwszPath + dat->dwPathSize)) = 0; } pmftpp->hFilesQueueHandle = hFilesQueueHandle; @@ -342,9 +337,9 @@ DWORD CMraProto::MraFilesQueueStartMrimProxy(HANDLE hFilesQueueHandle, DWORD dwI MRA_FILES_QUEUE_ITEM *dat; mt_lock l(pmrafqFilesQueue); - if ( !MraFilesQueueItemFindByID(hFilesQueueHandle, dwIDRequest, &dat)) - if (dat->bSending == FALSE) - SetEvent(dat->hWaitHandle);// cancel wait incomming connection + if (!MraFilesQueueItemFindByID(hFilesQueueHandle, dwIDRequest, &dat)) + if (dat->bSending == FALSE) + SetEvent(dat->hWaitHandle);// cancel wait incomming connection return 0; } @@ -367,7 +362,7 @@ DWORD MraFilesQueueFree(HANDLE hFilesQueueHandle, DWORD dwIDRequest) return 0; } } - while (ListMTIteratorMoveNext(&lmtiIterator)); + while (ListMTIteratorMoveNext(&lmtiIterator)); return ERROR_NOT_FOUND; } @@ -395,7 +390,7 @@ DWORD CMraProto::MraFilesQueueSendMirror(HANDLE hFilesQueueHandle, DWORD dwIDReq bool CMraProto::MraFilesQueueHandCheck(HANDLE m_hConnection, MRA_FILES_QUEUE_ITEM *dat) { if (m_hConnection && dat) { - BYTE btBuff[((MAX_EMAIL_LEN*2)+(sizeof(MRA_FT_HELLO)*2)+8)] = {0}; + BYTE btBuff[((MAX_EMAIL_LEN * 2) + (sizeof(MRA_FT_HELLO)* 2) + 8)] = { 0 }; size_t dwBuffSize; CMStringA szEmail, szEmailMy; @@ -404,28 +399,28 @@ bool CMraProto::MraFilesQueueHandCheck(HANDLE m_hConnection, MRA_FILES_QUEUE_ITE if (dat->bSending == FALSE) { // receiving - dwBuffSize = mir_snprintf((LPSTR)btBuff, SIZEOF(btBuff), "%s %s", MRA_FT_HELLO, szEmailMy.c_str())+1; + dwBuffSize = mir_snprintf((LPSTR)btBuff, SIZEOF(btBuff), "%s %s", MRA_FT_HELLO, szEmailMy.c_str()) + 1; if (dwBuffSize == Netlib_Send(m_hConnection, (LPSTR)btBuff, (int)dwBuffSize, 0)) { // my email sended ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_INITIALISING, (HANDLE)dat->dwIDRequest, 0); dwBuffSize = Netlib_Recv(m_hConnection, (LPSTR)btBuff, sizeof(btBuff), 0); - if ((szEmail.GetLength()+sizeof(MRA_FT_HELLO)+1) == dwBuffSize) { + if ((szEmail.GetLength() + sizeof(MRA_FT_HELLO)+1) == dwBuffSize) { // email received - mir_snprintf(((LPSTR)btBuff+dwBuffSize), (SIZEOF(btBuff)-dwBuffSize), "%s %s", MRA_FT_HELLO, szEmail); - if ( !_memicmp(btBuff, btBuff+dwBuffSize, dwBuffSize)) + mir_snprintf(((LPSTR)btBuff + dwBuffSize), (SIZEOF(btBuff) - dwBuffSize), "%s %s", MRA_FT_HELLO, szEmail); + if (!_memicmp(btBuff, btBuff + dwBuffSize, dwBuffSize)) return true; } } } else {// sending dwBuffSize = Netlib_Recv(m_hConnection, (LPSTR)btBuff, sizeof(btBuff), 0); - if ((szEmail.GetLength()+sizeof(MRA_FT_HELLO)+1) == dwBuffSize) { + if ((szEmail.GetLength() + sizeof(MRA_FT_HELLO)+1) == dwBuffSize) { // email received ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_INITIALISING, (HANDLE)dat->dwIDRequest, 0); - mir_snprintf(((LPSTR)btBuff+dwBuffSize), (SIZEOF(btBuff)-dwBuffSize), "%s %s", MRA_FT_HELLO, szEmail); - if ( !_memicmp(btBuff, btBuff+dwBuffSize, dwBuffSize)) { + mir_snprintf(((LPSTR)btBuff + dwBuffSize), (SIZEOF(btBuff) - dwBuffSize), "%s %s", MRA_FT_HELLO, szEmail); + if (!_memicmp(btBuff, btBuff + dwBuffSize, dwBuffSize)) { // email verified - dwBuffSize = (mir_snprintf((LPSTR)btBuff, SIZEOF(btBuff), "%s %s", MRA_FT_HELLO, szEmailMy.c_str())+1); + dwBuffSize = (mir_snprintf((LPSTR)btBuff, SIZEOF(btBuff), "%s %s", MRA_FT_HELLO, szEmailMy.c_str()) + 1); if (dwBuffSize == Netlib_Send(m_hConnection, (LPSTR)btBuff, dwBuffSize, 0)) return true; } @@ -444,10 +439,9 @@ HANDLE CMraProto::MraFilesQueueConnectOut(MRA_FILES_QUEUE_ITEM *dat) BOOL bFiltering = FALSE, bIsHTTPSProxyUsed = IsHTTPSProxyUsed(m_hNetlibUser); DWORD dwLocalPort = 0, dwConnectReTryCount, dwCurConnectReTryCount; size_t dwAddrCount; - NETLIBOPENCONNECTION nloc = {0}; + NETLIBOPENCONNECTION nloc = { 0 }; - if (getByte("FileSendIgnoryAdditionalPorts", MRA_DEF_FS_IGNORY_ADDITIONAL_PORTS) || bIsHTTPSProxyUsed) - {// фильтруем порты для одного IP, вместо 3 будем коннектится только к одному + if (getByte("FileSendIgnoryAdditionalPorts", MRA_DEF_FS_IGNORY_ADDITIONAL_PORTS) || bIsHTTPSProxyUsed) {// фильтруем порты для одного IP, вместо 3 будем коннектится только к одному if (bIsHTTPSProxyUsed) dwLocalPort = MRA_SERVER_PORT_HTTPS; else if ((dwLocalPort = getWord("ServerPort", MRA_DEFAULT_SERVER_PORT)) == MRA_SERVER_PORT_STANDART_NLB) @@ -470,12 +464,12 @@ HANDLE CMraProto::MraFilesQueueConnectOut(MRA_FILES_QUEUE_ITEM *dat) dwConnectReTryCount = getDword("ConnectReTryCountFileSend", MRA_DEFAULT_CONN_RETRY_COUNT_FILES); nloc.cbSize = sizeof(nloc); nloc.flags = NLOCF_V2; - nloc.timeout = getDword("TimeOutConnectFileSend", ((MRA_TIMEOUT_DIRECT_CONN-1)/(dwAddrCount*dwConnectReTryCount)));// -1 сек чтобы был запас + nloc.timeout = getDword("TimeOutConnectFileSend", ((MRA_TIMEOUT_DIRECT_CONN - 1) / (dwAddrCount*dwConnectReTryCount)));// -1 сек чтобы был запас if (nloc.timeout < MRA_TIMEOUT_CONN_MIN) nloc.timeout = MRA_TIMEOUT_CONN_MIN; if (nloc.timeout > MRA_TIMEOUT_CONN_MAX) nloc.timeout = MRA_TIMEOUT_CONN_MAX; // Set up the sockaddr structure - for (size_t i = 0;imalAddrList.dwAddrCount;i++) { + for (size_t i = 0; i < dat->malAddrList.dwAddrCount; i++) { if (dwLocalPort == dat->malAddrList.pMailAddress[i].dwPort || bFiltering == FALSE) { ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_CONNECTING, (HANDLE)dat->dwIDRequest, 0); @@ -486,7 +480,7 @@ HANDLE CMraProto::MraFilesQueueConnectOut(MRA_FILES_QUEUE_ITEM *dat) do { dat->m_hConnection = (HANDLE)CallService(MS_NETLIB_OPENCONNECTION, (WPARAM)m_hNetlibUser, (LPARAM)&nloc); } - while (--dwCurConnectReTryCount && dat->m_hConnection == NULL); + while (--dwCurConnectReTryCount && dat->m_hConnection == NULL); if (dat->m_hConnection) { ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_CONNECTED, (HANDLE)dat->dwIDRequest, 0); @@ -513,10 +507,10 @@ LPWSTR GetFileNameFromFullPathW(LPWSTR lpwszFullPath, size_t dwFullPathSize) { LPWSTR lpwszFileName = lpwszFullPath, lpwszCurPos; - lpwszCurPos = (lpwszFullPath+dwFullPathSize); - for (; lpwszCurPos>lpwszFullPath; lpwszCurPos--) { + lpwszCurPos = (lpwszFullPath + dwFullPathSize); + for (; lpwszCurPos > lpwszFullPath; lpwszCurPos--) { if ((*lpwszCurPos) == '\\') { - lpwszFileName = (lpwszCurPos+1); + lpwszFileName = (lpwszCurPos + 1); break; } } @@ -527,17 +521,17 @@ HANDLE CMraProto::MraFilesQueueConnectIn(MRA_FILES_QUEUE_ITEM *dat) { if (!dat) return NULL; - if ( !InterlockedExchangeAdd((volatile LONG*)&dat->bIsWorking, 0)) + if (!InterlockedExchangeAdd((volatile LONG*)&dat->bIsWorking, 0)) return NULL; CMStringA szEmail; if (mraGetStringA(dat->hContact, "e-mail", szEmail)) { - CHAR szAddrList[2048] = {0}; + CHAR szAddrList[2048] = { 0 }; size_t dwAddrListSize; // копируем адреса в соответствии с правилами и начинаем слушать порт if (getByte("FileSendEnableDirectConn", MRA_DEF_FS_ENABLE_DIRECT_CONN)) { - NETLIBBIND nlbBind = {0}; + NETLIBBIND nlbBind = { 0 }; nlbBind.cbSize = sizeof(nlbBind); nlbBind.pfnNewConnectionV2 = MraFilesQueueConnectionReceived; @@ -573,16 +567,16 @@ HANDLE CMraProto::MraFilesQueueConnectIn(MRA_FILES_QUEUE_ITEM *dat) LPWSTR lpwszFiles, lpwszCurPos; size_t dwFilesSize; - dwFilesSize = ((MAX_PATH*2)*dat->dwFilesCount); + dwFilesSize = ((MAX_PATH * 2)*dat->dwFilesCount); lpwszFiles = (LPWSTR)mir_calloc((dwFilesSize*sizeof(WCHAR))); if (lpwszFiles) { lpwszCurPos = lpwszFiles; - for (size_t i = 0;i < dat->dwFilesCount;i++) { + for (size_t i = 0; i < dat->dwFilesCount; i++) { MRA_FILES_QUEUE_FILE &p = dat->pmfqfFiles[i]; - lpwszCurPos += mir_sntprintf(lpwszCurPos, (dwFilesSize-((size_t)lpwszCurPos-(size_t)lpwszFiles)), L"%s;%I64u;", + lpwszCurPos += mir_sntprintf(lpwszCurPos, (dwFilesSize - ((size_t)lpwszCurPos - (size_t)lpwszFiles)), L"%s;%I64u;", GetFileNameFromFullPathW(p.lpwszName, p.dwNameLen), p.dwSize); } - dwFilesSize = (lpwszCurPos-lpwszFiles);// size in WCHARs + dwFilesSize = (lpwszCurPos - lpwszFiles);// size in WCHARs if (dat->hMraMrimProxyData) { // устанавливаем данные для майловской прокси, если она разрешена @@ -610,13 +604,14 @@ void MraFilesQueueConnectionReceived(HANDLE hNewConnection, DWORD dwRemoteIP, vo MRA_FILES_QUEUE_ITEM *dat = (MRA_FILES_QUEUE_ITEM*)pExtra; ProtoBroadcastAck(dat->ppro->m_szModuleName, dat->hContact, ACKTYPE_FILE, ACKRESULT_CONNECTED, (HANDLE)dat->dwIDRequest, 0); - if ( dat->ppro->MraFilesQueueHandCheck(hNewConnection, dat)) { // связь установленная с тем кем нужно + if (dat->ppro->MraFilesQueueHandCheck(hNewConnection, dat)) { // связь установленная с тем кем нужно dat->m_hConnection = hNewConnection; ProtoBroadcastAck(dat->ppro->m_szModuleName, dat->hContact, ACKTYPE_FILE, ACKRESULT_CONNECTED, (HANDLE)dat->dwIDRequest, 0); dat->ppro->setDword(dat->hContact, "OldIP", dat->ppro->getDword(dat->hContact, "IP", 0)); dat->ppro->setDword(dat->hContact, "IP", dwRemoteIP); SetEvent(dat->hWaitHandle); - }else {// кажется кто то не туда подключилися :) + } + else {// кажется кто то не туда подключилися :) ProtoBroadcastAck(dat->ppro->m_szModuleName, dat->hContact, ACKTYPE_FILE, ACKRESULT_LISTENING, (HANDLE)dat->dwIDRequest, 0); Netlib_CloseHandle(hNewConnection); } @@ -634,7 +629,7 @@ DWORD CMraProto::MraFilesQueueAddReceive(HANDLE hFilesQueueHandle, DWORD dwFlags MRA_FILES_QUEUE *pmrafqFilesQueue = (MRA_FILES_QUEUE*)hFilesQueueHandle; MRA_FILES_QUEUE_ITEM *dat = (MRA_FILES_QUEUE_ITEM*)mir_calloc(sizeof(MRA_FILES_QUEUE_ITEM)+sizeof(LPSTR)+64); - if ( !dat) + if (!dat) return GetLastError(); WCHAR szBuff[MAX_PATH]; @@ -680,25 +675,25 @@ DWORD CMraProto::MraFilesQueueAddReceive(HANDLE hFilesQueueHandle, DWORD dwFlags dat->dwFilesCount++; } - dat->pmfqfFiles = (MRA_FILES_QUEUE_FILE*)mir_realloc(dat->pmfqfFiles, (sizeof(MRA_FILES_QUEUE_FILE)*(dat->dwFilesCount+4))); + dat->pmfqfFiles = (MRA_FILES_QUEUE_FILE*)mir_realloc(dat->pmfqfFiles, (sizeof(MRA_FILES_QUEUE_FILE)*(dat->dwFilesCount + 4))); - dwMemSize = (((dat->dwFilesCount+4)*64)+(dwFileNameTotalSize*sizeof(WCHAR))+(szAddresses.GetLength()*sizeof(WCHAR))+128); + dwMemSize = (((dat->dwFilesCount + 4) * 64) + (dwFileNameTotalSize*sizeof(WCHAR)) + (szAddresses.GetLength()*sizeof(WCHAR)) + 128); dat->pwszFilesList = (LPWSTR)mir_calloc(dwMemSize); dat->pwszDescription = (LPWSTR)mir_calloc(dwMemSize); LPWSTR lpwszDelimiter = dat->pwszFilesList; LPWSTR lpwszCurrentItem = dat->pwszDescription; StrFormatByteSizeW(dat->dwFilesTotalSize, szBuff, SIZEOF(szBuff)); - lpwszCurrentItem += mir_sntprintf(lpwszCurrentItem, ((dwMemSize-((size_t)lpwszCurrentItem-(size_t)dat->pwszDescription))/sizeof(WCHAR)), L"%I64u Files (%s)\r\n", dat->dwFilesCount, szBuff); + lpwszCurrentItem += mir_sntprintf(lpwszCurrentItem, ((dwMemSize - ((size_t)lpwszCurrentItem - (size_t)dat->pwszDescription)) / sizeof(WCHAR)), L"%I64u Files (%s)\r\n", dat->dwFilesCount, szBuff); // description + filesnames for (size_t i = 0; i < dat->dwFilesCount; i++) { - lpwszDelimiter += mir_sntprintf(lpwszDelimiter, ((dwMemSize-((size_t)lpwszDelimiter-(size_t)dat->pwszFilesList))/sizeof(WCHAR)), L"%s", dat->pmfqfFiles[i].lpwszName); + lpwszDelimiter += mir_sntprintf(lpwszDelimiter, ((dwMemSize - ((size_t)lpwszDelimiter - (size_t)dat->pwszFilesList)) / sizeof(WCHAR)), L"%s", dat->pmfqfFiles[i].lpwszName); StrFormatByteSizeW(dat->pmfqfFiles[i].dwSize, szBuff, SIZEOF(szBuff)); - lpwszCurrentItem += mir_sntprintf(lpwszCurrentItem, ((dwMemSize-((size_t)lpwszCurrentItem-(size_t)dat->pwszDescription))/sizeof(WCHAR)), L"%s - %s\r\n", dat->pmfqfFiles[i].lpwszName, szBuff); + lpwszCurrentItem += mir_sntprintf(lpwszCurrentItem, ((dwMemSize - ((size_t)lpwszCurrentItem - (size_t)dat->pwszDescription)) / sizeof(WCHAR)), L"%s - %s\r\n", dat->pmfqfFiles[i].lpwszName, szBuff); } - lpwszCurrentItem += MultiByteToWideChar(MRA_CODE_PAGE, 0, szAddresses, szAddresses.GetLength(), lpwszCurrentItem, ((dwMemSize-((size_t)lpwszCurrentItem-(size_t)dat->pwszDescription))/sizeof(WCHAR))); + lpwszCurrentItem += MultiByteToWideChar(MRA_CODE_PAGE, 0, szAddresses, szAddresses.GetLength(), lpwszCurrentItem, ((dwMemSize - ((size_t)lpwszCurrentItem - (size_t)dat->pwszDescription)) / sizeof(WCHAR))); *lpwszCurrentItem = 0; MraAddrListGetFromBuff(szAddresses, &dat->malAddrList); @@ -724,12 +719,11 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) { DWORD dwRetErrorCode = NO_ERROR; - if (lpParameter) - { + if (lpParameter) { MRA_FILES_QUEUE *pmrafqFilesQueue = (MRA_FILES_QUEUE*)((MRA_FILES_THREADPROC_PARAMS*)lpParameter)->hFilesQueueHandle; MRA_FILES_QUEUE_ITEM *dat = ((MRA_FILES_THREADPROC_PARAMS*)lpParameter)->dat; - WCHAR wszFileName[MAX_FILEPATH] = {0}; + WCHAR wszFileName[MAX_FILEPATH] = { 0 }; WCHAR szErrorText[2048]; BYTE btBuff[BUFF_SIZE_RCV]; BOOL bContinue, bFailed, bOK, bConnected; @@ -737,8 +731,8 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) HANDLE hFile; size_t i, dwBuffSizeUsed; LARGE_INTEGER liFileSize; - NETLIBSELECT nls = {0}; - PROTOFILETRANSFERSTATUS pfts = {0}; + NETLIBSELECT nls = { 0 }; + PROTOFILETRANSFERSTATUS pfts = { 0 }; mir_free(lpParameter); @@ -747,7 +741,7 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) nls.cbSize = sizeof(nls); pfts.cbSize = sizeof(pfts); pfts.hContact = dat->hContact; - pfts.flags = (PFTS_RECEIVING|PFTS_UNICODE);// pfts.sending = dat->bSending; //true if sending, false if receiving + pfts.flags = (PFTS_RECEIVING | PFTS_UNICODE);// pfts.sending = dat->bSending; //true if sending, false if receiving //pfts.files; pfts.totalFiles = dat->dwFilesCount; //pfts.currentFileNumber = 0; @@ -759,21 +753,18 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) //pfts.currentFileProgress; //pfts.currentFileTime; //as seconds since 1970 - if (MraFilesQueueConnectOut(dat)) - { + if (MraFilesQueueConnectOut(dat)) { bConnected = TRUE; - }else { - if (MraFilesQueueConnectIn(dat)) - { + } + else { + if (MraFilesQueueConnectIn(dat)) { bConnected = TRUE; - }else { - if (InterlockedExchangeAdd((volatile LONG*)&dat->bIsWorking, 0)) - { + } + else { + if (InterlockedExchangeAdd((volatile LONG*)&dat->bIsWorking, 0)) { ProtoBroadcastAck(dat->hContact, ACKRESULT_CONNECTPROXY, ACKRESULT_CONNECTED, (HANDLE)dat->dwIDRequest, 0); - if (MraMrimProxyConnect(dat->hMraMrimProxyData, &dat->m_hConnection) == NO_ERROR) - {// подключились к прокси, проверяем та ли сессия (ещё раз, на этот раз сами) - if (MraFilesQueueHandCheck(dat->m_hConnection, dat)) - {// связь установленная с тем кем нужно// dat->bSending + if (MraMrimProxyConnect(dat->hMraMrimProxyData, &dat->m_hConnection) == NO_ERROR) {// подключились к прокси, проверяем та ли сессия (ещё раз, на этот раз сами) + if (MraFilesQueueHandCheck(dat->m_hConnection, dat)) {// связь установленная с тем кем нужно// dat->bSending ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_CONNECTED, (HANDLE)dat->dwIDRequest, 0); bConnected = TRUE; } @@ -782,23 +773,21 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) } } - if (bConnected) - {// email verified + if (bConnected) {// email verified bFailed = FALSE; - for (i = 0;idwFilesCount;i++) - {// receiving files + for (i = 0; i < dat->dwFilesCount; i++) {// receiving files pfts.currentFileNumber = i; pfts.wszCurrentFile = wszFileName; pfts.currentFileSize = dat->pmfqfFiles[i].dwSize; pfts.currentFileProgress = 0; //pfts.currentFileTime; //as seconds since 1970 - if ((dat->dwPathSize+dat->pmfqfFiles[i].dwNameLen)dwPathSize + dat->pmfqfFiles[i].dwNameLen) < SIZEOF(wszFileName)) { memmove(wszFileName, dat->lpwszPath, (dat->dwPathSize*sizeof(WCHAR))); - memmove((wszFileName+dat->dwPathSize), dat->pmfqfFiles[i].lpwszName, ((dat->pmfqfFiles[i].dwNameLen+1)*sizeof(WCHAR))); - wszFileName[dat->dwPathSize+dat->pmfqfFiles[i].dwNameLen] = 0; - }else { + memmove((wszFileName + dat->dwPathSize), dat->pmfqfFiles[i].lpwszName, ((dat->pmfqfFiles[i].dwNameLen + 1)*sizeof(WCHAR))); + wszFileName[dat->dwPathSize + dat->pmfqfFiles[i].dwNameLen] = 0; + } + else { dwRetErrorCode = ERROR_BAD_PATHNAME; ShowFormattedErrorMessage(L"Receive files: error", dwRetErrorCode); bFailed = TRUE; @@ -813,36 +802,31 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) //dwBuffSizeUsed = (mir_snprintf((LPSTR)btBuff, SIZEOF(btBuff), "%s %S", MRA_FT_GET_FILE, dat->pmfqfFiles[i].lpwszName)+1); memmove(btBuff, MRA_FT_GET_FILE, sizeof(MRA_FT_GET_FILE)); btBuff[(sizeof(MRA_FT_GET_FILE)-1)] = ' '; - dwBuffSizeUsed = sizeof(MRA_FT_GET_FILE)+WideCharToMultiByte(MRA_CODE_PAGE, 0, dat->pmfqfFiles[i].lpwszName, dat->pmfqfFiles[i].dwNameLen, (LPSTR)(btBuff+sizeof(MRA_FT_GET_FILE)), (SIZEOF(btBuff)-sizeof(MRA_FT_GET_FILE)), NULL, NULL); + dwBuffSizeUsed = sizeof(MRA_FT_GET_FILE)+WideCharToMultiByte(MRA_CODE_PAGE, 0, dat->pmfqfFiles[i].lpwszName, dat->pmfqfFiles[i].dwNameLen, (LPSTR)(btBuff + sizeof(MRA_FT_GET_FILE)), (SIZEOF(btBuff) - sizeof(MRA_FT_GET_FILE)), NULL, NULL); btBuff[dwBuffSizeUsed] = 0; dwBuffSizeUsed++; - if (dwBuffSizeUsed == Netlib_Send(dat->m_hConnection, (LPSTR)btBuff, dwBuffSizeUsed, 0)) - {// file request sended + if (dwBuffSizeUsed == Netlib_Send(dat->m_hConnection, (LPSTR)btBuff, dwBuffSizeUsed, 0)) {// file request sended hFile = CreateFileW(wszFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - if (hFile != INVALID_HANDLE_VALUE) - {// file opened/created, pre allocating disk space, for best perfomance + if (hFile != INVALID_HANDLE_VALUE) {// file opened/created, pre allocating disk space, for best perfomance bOK = FALSE; liFileSize.QuadPart = (LONGLONG)dat->pmfqfFiles[i].dwSize; if (SetFilePointerEx(hFile, liFileSize, NULL, FILE_BEGIN)) - if (SetEndOfFile(hFile)) - { + if (SetEndOfFile(hFile)) { liFileSize.QuadPart = 0; bOK = SetFilePointerEx(hFile, liFileSize, NULL, FILE_BEGIN); } - if (bOK) - {// disk space pre allocated + if (bOK) {// disk space pre allocated bOK = FALSE; bContinue = TRUE; dwUpdateTimeNext = GetTickCount(); - nls.dwTimeout = (1000*getDword("TimeOutReceiveFileData", MRA_DEF_FS_TIMEOUT_RECV)); + nls.dwTimeout = (1000 * getDword("TimeOutReceiveFileData", MRA_DEF_FS_TIMEOUT_RECV)); nls.hReadConns[0] = dat->m_hConnection; ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_DATA, (HANDLE)dat->dwIDRequest, (LPARAM)&pfts); - while (bContinue) - { + while (bContinue) { switch (CallService(MS_NETLIB_SELECT, 0, (LPARAM)&nls)) { case SOCKET_ERROR: case 0:// Time out @@ -852,31 +836,29 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) break; case 1: dwReceived = Netlib_Recv(dat->m_hConnection, (LPSTR)&btBuff, SIZEOF(btBuff), 0); - if (dwReceived == 0 || dwReceived == SOCKET_ERROR) - { + if (dwReceived == 0 || dwReceived == SOCKET_ERROR) { dwRetErrorCode = GetLastError(); ShowFormattedErrorMessage(L"Receive files: error on receive file data", dwRetErrorCode); bContinue = FALSE; - }else { - if (WriteFile(hFile, (LPVOID)&btBuff, dwReceived, &dwReceived, NULL)) - { + } + else { + if (WriteFile(hFile, (LPVOID)&btBuff, dwReceived, &dwReceived, NULL)) { pfts.currentFileProgress += dwReceived; pfts.totalProgress += dwReceived; // progress updates dwUpdateTimeCur = GetTickCount(); - if (dwUpdateTimeNext <= dwUpdateTimeCur || pfts.currentFileProgress >= dat->pmfqfFiles[i].dwSize) - {// we update it - dwUpdateTimeNext = dwUpdateTimeCur+MRA_FILES_QUEUE_PROGRESS_INTERVAL; + if (dwUpdateTimeNext <= dwUpdateTimeCur || pfts.currentFileProgress >= dat->pmfqfFiles[i].dwSize) {// we update it + dwUpdateTimeNext = dwUpdateTimeCur + MRA_FILES_QUEUE_PROGRESS_INTERVAL; ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_DATA, (HANDLE)dat->dwIDRequest, (LPARAM)&pfts); - if (pfts.currentFileProgress >= dat->pmfqfFiles[i].dwSize) - {// file received + if (pfts.currentFileProgress >= dat->pmfqfFiles[i].dwSize) {// file received bOK = TRUE; bContinue = FALSE; } } - }else {// err on write file + } + else {// err on write file dwRetErrorCode = GetLastError(); ShowFormattedErrorMessage(L"Receive files: cant write file data, error", dwRetErrorCode); bContinue = FALSE; @@ -885,27 +867,29 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) break; } }// end while - }else {// err allocating file disk space + } + else {// err allocating file disk space dwRetErrorCode = GetLastError(); mir_sntprintf(szErrorText, SIZEOF(szErrorText), TranslateT("Receive files: can't allocate disk space for file, size %lu bytes, error"), dat->pmfqfFiles[i].dwSize); ShowFormattedErrorMessage(szErrorText, dwRetErrorCode); } CloseHandle(hFile); - if (bOK == FALSE) - {// file recv failed + if (bOK == FALSE) {// file recv failed DeleteFileW(wszFileName); bFailed = TRUE; break; } - }else {// err on open file + } + else {// err on open file dwRetErrorCode = GetLastError(); mir_sntprintf(szErrorText, SIZEOF(szErrorText), TranslateT("Receive files: can't open file %s, error"), wszFileName); ShowFormattedErrorMessage(szErrorText, dwRetErrorCode); bFailed = TRUE; break; } - }else {// err on send request for file + } + else {// err on send request for file dwRetErrorCode = GetLastError(); mir_sntprintf(szErrorText, SIZEOF(szErrorText), TranslateT("Receive files: request for file %s not sent, error"), dat->pmfqfFiles[i].lpwszName); ShowFormattedErrorMessage(szErrorText, NO_ERROR); @@ -937,12 +921,12 @@ void CMraProto::MraFilesQueueRecvThreadProc(LPVOID lpParameter) DWORD CMraProto::MraFilesQueueAddSend(HANDLE hFilesQueueHandle, DWORD dwFlags, HANDLE hContact, LPWSTR *plpwszFiles, size_t dwFilesCount, DWORD *pdwIDRequest) { - if ( !hFilesQueueHandle) + if (!hFilesQueueHandle) return ERROR_INVALID_HANDLE; MRA_FILES_QUEUE *pmrafqFilesQueue = (MRA_FILES_QUEUE*)hFilesQueueHandle; MRA_FILES_QUEUE_ITEM *dat = (MRA_FILES_QUEUE_ITEM*)mir_calloc(sizeof(MRA_FILES_QUEUE_ITEM)+sizeof(LPSTR)+64); - if ( !dat) + if (!dat) return GetLastError(); ULARGE_INTEGER uliFileSize; @@ -956,7 +940,7 @@ DWORD CMraProto::MraFilesQueueAddSend(HANDLE hFilesQueueHandle, DWORD dwFlags, H dat->hContact = hContact; if (getByte("FileSendEnableMRIMProxyCons", MRA_DEF_FS_ENABLE_MRIM_PROXY_CONS)) dat->hMraMrimProxyData = MraMrimProxyCreate(); dat->dwFilesCount = dwFilesCount; - dat->pmfqfFiles = (MRA_FILES_QUEUE_FILE*)mir_calloc((sizeof(MRA_FILES_QUEUE_FILE)*(dat->dwFilesCount+1))); + dat->pmfqfFiles = (MRA_FILES_QUEUE_FILE*)mir_calloc((sizeof(MRA_FILES_QUEUE_FILE)*(dat->dwFilesCount + 1))); dat->dwFilesTotalSize = 0; for (size_t i = 0; i < dat->dwFilesCount; i++) { @@ -992,14 +976,14 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) { DWORD dwRetErrorCode = NO_ERROR; - if ( !lpParameter) + if (!lpParameter) return; MRA_FILES_QUEUE *pmrafqFilesQueue = (MRA_FILES_QUEUE*)((MRA_FILES_THREADPROC_PARAMS*)lpParameter)->hFilesQueueHandle; MRA_FILES_QUEUE_ITEM *dat = ((MRA_FILES_THREADPROC_PARAMS*)lpParameter)->dat; mir_free(lpParameter); - CHAR szFileName[MAX_FILEPATH] = {0}; + CHAR szFileName[MAX_FILEPATH] = { 0 }; WCHAR szErrorText[2048]; BYTE btBuff[BUFF_SIZE_RCV]; BOOL bFailed = TRUE, bOK, bConnected = FALSE; @@ -1007,17 +991,17 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) size_t i, j, dwBuffSizeUsed = 0; LPWSTR lpwszFileName; - PROTOFILETRANSFERSTATUS pfts = {0}; + PROTOFILETRANSFERSTATUS pfts = { 0 }; pfts.cbSize = sizeof(pfts); pfts.hContact = dat->hContact; - pfts.flags = (PFTS_SENDING|PFTS_UNICODE);// pfts.sending = dat->bSending; //true if sending, false if receiving + pfts.flags = (PFTS_SENDING | PFTS_UNICODE);// pfts.sending = dat->bSending; //true if sending, false if receiving pfts.totalFiles = dat->dwFilesCount; pfts.totalBytes = dat->dwFilesTotalSize; pfts.wszWorkingDir = dat->lpwszPath; dwSendBlockSize = getDword("FileSendBlockSize", MRA_DEFAULT_FILE_SEND_BLOCK_SIZE); - if (dwSendBlockSize>SIZEOF(btBuff)) dwSendBlockSize = SIZEOF(btBuff); - if (dwSendBlockSize<512) dwSendBlockSize = MRA_DEFAULT_FILE_SEND_BLOCK_SIZE; + if (dwSendBlockSize > SIZEOF(btBuff)) dwSendBlockSize = SIZEOF(btBuff); + if (dwSendBlockSize < 512) dwSendBlockSize = MRA_DEFAULT_FILE_SEND_BLOCK_SIZE; if (MraFilesQueueConnectIn(dat)) bConnected = TRUE; @@ -1044,7 +1028,7 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) dwBuffSizeUsed = 0; while (TRUE) { - dwReceived = Netlib_Recv(dat->m_hConnection, ((LPSTR)btBuff+dwBuffSizeUsed), (SIZEOF(btBuff)-dwBuffSizeUsed), 0); + dwReceived = Netlib_Recv(dat->m_hConnection, ((LPSTR)btBuff + dwBuffSizeUsed), (SIZEOF(btBuff) - dwBuffSizeUsed), 0); if (dwReceived == 0 || dwReceived == SOCKET_ERROR) { // err on receive file name to send dwRetErrorCode = GetLastError(); ShowFormattedErrorMessage(L"Send files: file send request not received, error", dwRetErrorCode); @@ -1053,7 +1037,7 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) } else { dwBuffSizeUsed += dwReceived; - if (MemoryFindByte((dwBuffSizeUsed-dwReceived), btBuff, dwBuffSizeUsed, 0)) + if (MemoryFindByte((dwBuffSizeUsed - dwReceived), btBuff, dwBuffSizeUsed, 0)) break; } }// end while (file name passible received)*/ @@ -1063,21 +1047,21 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) // ...received if (dwBuffSizeUsed > (sizeof(MRA_FT_GET_FILE)+1)) {// file name received - if ( !_memicmp(btBuff, MRA_FT_GET_FILE, sizeof(MRA_FT_GET_FILE)-1)) { + if (!_memicmp(btBuff, MRA_FT_GET_FILE, sizeof(MRA_FT_GET_FILE)-1)) { // MRA_FT_GET_FILE verified bFailed = TRUE; - for (j = 0;jdwFilesCount;j++) { + for (j = 0; j < dat->dwFilesCount; j++) { lpwszFileName = GetFileNameFromFullPathW(dat->pmfqfFiles[j].lpwszName, dat->pmfqfFiles[j].dwNameLen); - szFileName[WideCharToMultiByte(MRA_CODE_PAGE, 0, lpwszFileName, (dat->pmfqfFiles[j].dwNameLen-(lpwszFileName-dat->pmfqfFiles[j].lpwszName)), szFileName, SIZEOF(szFileName), NULL, NULL)] = 0; + szFileName[WideCharToMultiByte(MRA_CODE_PAGE, 0, lpwszFileName, (dat->pmfqfFiles[j].dwNameLen - (lpwszFileName - dat->pmfqfFiles[j].lpwszName)), szFileName, SIZEOF(szFileName), NULL, NULL)] = 0; - if ( !_memicmp(btBuff+sizeof(MRA_FT_GET_FILE), szFileName, dwBuffSizeUsed-(sizeof(MRA_FT_GET_FILE)+1))) { + if (!_memicmp(btBuff + sizeof(MRA_FT_GET_FILE), szFileName, dwBuffSizeUsed - (sizeof(MRA_FT_GET_FILE)+1))) { bFailed = FALSE; break; } } if (bFailed == FALSE) { - HANDLE hFile = CreateFileW(dat->pmfqfFiles[j].lpwszName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, (FILE_ATTRIBUTE_NORMAL|FILE_FLAG_SEQUENTIAL_SCAN), NULL); + HANDLE hFile = CreateFileW(dat->pmfqfFiles[j].lpwszName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, (FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN), NULL); if (hFile != INVALID_HANDLE_VALUE) { bOK = FALSE; dwUpdateTimeNext = GetTickCount(); @@ -1100,7 +1084,7 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) // progress updates dwUpdateTimeCur = GetTickCount(); if (dwUpdateTimeNext <= dwUpdateTimeCur || pfts.currentFileProgress >= dat->pmfqfFiles[j].dwSize) { // we update it - dwUpdateTimeNext = dwUpdateTimeCur+MRA_FILES_QUEUE_PROGRESS_INTERVAL; + dwUpdateTimeNext = dwUpdateTimeCur + MRA_FILES_QUEUE_PROGRESS_INTERVAL; ProtoBroadcastAck(dat->hContact, ACKTYPE_FILE, ACKRESULT_DATA, (HANDLE)dat->dwIDRequest, (LPARAM)&pfts); @@ -1129,7 +1113,7 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) break; } } - else {// err on open file + else { // err on open file dwRetErrorCode = GetLastError(); mir_sntprintf(szErrorText, SIZEOF(szErrorText), TranslateT("Send files: can't open file %s, error"), dat->pmfqfFiles[j].lpwszName); ShowFormattedErrorMessage(szErrorText, dwRetErrorCode); @@ -1138,19 +1122,19 @@ void CMraProto::MraFilesQueueSendThreadProc(LPVOID lpParameter) } } else { - mir_sntprintf(szErrorText, SIZEOF(szErrorText), TranslateT("Send files: requested file: %S - not found in send files list."), (((LPSTR)btBuff)+sizeof(MRA_FT_GET_FILE))); + mir_sntprintf(szErrorText, SIZEOF(szErrorText), TranslateT("Send files: requested file: %S - not found in send files list."), (((LPSTR)btBuff) + sizeof(MRA_FT_GET_FILE))); ShowFormattedErrorMessage(szErrorText, NO_ERROR); bFailed = TRUE; break; } } - else {// err on receive, trash + else { // err on receive, trash ShowFormattedErrorMessage(L"Send files: bad file send request - invalid header", NO_ERROR); bFailed = TRUE; break; } } - else {// bad file name or trash + else { // bad file name or trash ShowFormattedErrorMessage(L"Send files: bad file send request - to small packet", NO_ERROR); bFailed = TRUE; break; diff --git a/protocols/MRA/src/MraPlaces.h b/protocols/MRA/src/MraPlaces.h index cbcd3d1567..ef85c025e7 100644 --- a/protocols/MRA/src/MraPlaces.h +++ b/protocols/MRA/src/MraPlaces.h @@ -4,8 +4,8 @@ #pragma once -#define lpwszOther TEXT("Другое") -//static LPWSTR lpwszOther = TEXT("Другое"); +#define lpwszOther _T("Другое") +//static LPWSTR lpwszOther = _T("Другое"); typedef struct @@ -63,1603 +63,1603 @@ typedef struct static const MRA_PLACE mrapPlaces[] = { - {24, 0, 0, TEXT("Россия")}, - {81, 0, 0, TEXT("Азербайджан")}, - {82, 0, 0, TEXT("Армения")}, - {97, 0, 0, TEXT("Афганистан")}, - {96, 0, 0, TEXT("Бангладеш")}, - {99, 0, 0, TEXT("Бахрейн")}, - {100, 0, 0, TEXT("Бруней-Даруссалам")}, - {101, 0, 0, TEXT("Бутан")}, - {102, 0, 0, TEXT("Вьетнам")}, - {83, 0, 0, TEXT("Грузия")}, - {86, 0, 0, TEXT("Израиль")}, - {95, 0, 0, TEXT("Индия")}, - {103, 0, 0, TEXT("Индонезия")}, - {79, 0, 0, TEXT("Иордания")}, - {85, 0, 0, TEXT("Ирак")}, - {87, 0, 0, TEXT("Иран")}, - {104, 0, 0, TEXT("Йемен")}, - {84, 0, 0, TEXT("Казахстан")}, - {105, 0, 0, TEXT("Камбоджа")}, - {106, 0, 0, TEXT("Катар")}, - {107, 0, 0, TEXT("Кипр")}, - {92, 0, 0, TEXT("Киргизия (Кыргызстан)")}, - {76, 0, 0, TEXT("Китай")}, - {3215, 0, 0, TEXT("Кокосовые острова (Австр.)")}, - {29, 0, 0, TEXT("Корея (КНДР)")}, - {108, 0, 0, TEXT("Корея")}, - {88, 0, 0, TEXT("Кувейт")}, - {109, 0, 0, TEXT("Лаос")}, - {110, 0, 0, TEXT("Ливан")}, - {111, 0, 0, TEXT("Малайзия")}, - {112, 0, 0, TEXT("Мальдивы")}, - {113, 0, 0, TEXT("Монголия")}, - {114, 0, 0, TEXT("Мьянма")}, - {115, 0, 0, TEXT("Непал")}, - {116, 0, 0, TEXT("Объединенные Арабские Эмираты")}, - {117, 0, 0, TEXT("Оман")}, - {3216, 0, 0, TEXT("Остров Рождества (Австр.)")}, - {122, 0, 0, TEXT("Пакистан")}, - {89, 0, 0, TEXT("Палестина")}, - {94, 0, 0, TEXT("Саудовская Аравия")}, - {118, 0, 0, TEXT("Сингапур")}, - {78, 0, 0, TEXT("Сирия")}, - {91, 0, 0, TEXT("Таджикистан")}, - {119, 0, 0, TEXT("Таиланд")}, - {120, 0, 0, TEXT("Тайвань")}, - {132, 0, 0, TEXT("Тимор")}, - {90, 0, 0, TEXT("Туркмения")}, - {77, 0, 0, TEXT("Турция")}, - {93, 0, 0, TEXT("Узбекистан")}, - {121, 0, 0, TEXT("Филиппины")}, - {98, 0, 0, TEXT("Шри Ланка")}, - {75, 0, 0, TEXT("Япония")}, - {123, 0, 0, TEXT("Австралия")}, - {454, 0, 0, TEXT("Американское Самоа")}, - {124, 0, 0, TEXT("Вануату")}, - {453, 0, 0, TEXT("Гуам (США)")}, - {126, 0, 0, TEXT("Кирибати")}, - {127, 0, 0, TEXT("Маршалловы Острова")}, - {128, 0, 0, TEXT("Микронезия (Федеративные Штаты Микронезии)")}, - {129, 0, 0, TEXT("Науру")}, - {3220, 0, 0, TEXT("Ниуэ (Н.Зел.)")}, - {130, 0, 0, TEXT("Новая Зеландия")}, - {3218, 0, 0, TEXT("Новая Каледония (Фр.)")}, - {3221, 0, 0, TEXT("Острова Кука (Н.Зел.)")}, - {3230, 0, 0, TEXT("Острова Херд и Макдональд (Австр.)")}, - {131, 0, 0, TEXT("Палау")}, - {133, 0, 0, TEXT("Папуа - Новая Гвинея")}, - {3222, 0, 0, TEXT("Питкерн (Брит.)")}, - {125, 0, 0, TEXT("Самоа")}, - {3219, 0, 0, TEXT("Сев. Марианские острова (США)")}, - {134, 0, 0, TEXT("Соломоновы Острова")}, - {3223, 0, 0, TEXT("Токелау (Н.Зел.)")}, - {135, 0, 0, TEXT("Тонга")}, - {136, 0, 0, TEXT("Тувалу")}, - {3224, 0, 0, TEXT("Уоллис и Футуна острова (Фр.)")}, - {137, 0, 0, TEXT("Фиджи")}, - {3226, 0, 0, TEXT("Французская Полинезия")}, - {3225, 0, 0, TEXT("Французские Южные территории")}, - {138, 0, 0, TEXT("Канада")}, - {139, 0, 0, TEXT("США")}, - {3200, 0, 0, TEXT("Ангилья (Брит.)")}, - {140, 0, 0, TEXT("Антигуа и Барбуда")}, - {141, 0, 0, TEXT("Аргентина")}, - {3202, 0, 0, TEXT("Аруба (Нид.)")}, - {142, 0, 0, TEXT("Багамы")}, - {143, 0, 0, TEXT("Барбадос")}, - {146, 0, 0, TEXT("Белиз")}, - {3203, 0, 0, TEXT("Бермуды (Брит.)")}, - {144, 0, 0, TEXT("Боливия")}, - {145, 0, 0, TEXT("Бразилия")}, - {147, 0, 0, TEXT("Венесуэла")}, - {3204, 0, 0, TEXT("Виргинские острова (Брит.)")}, - {452, 0, 0, TEXT("Виргинские острова (США)")}, - {149, 0, 0, TEXT("Гаити")}, - {148, 0, 0, TEXT("Гайана")}, - {3205, 0, 0, TEXT("Гваделупа (Фр.)")}, - {173, 0, 0, TEXT("Гватемала")}, - {150, 0, 0, TEXT("Гондурас")}, - {151, 0, 0, TEXT("Гренада")}, - {152, 0, 0, TEXT("Гренландия (Дат.)")}, - {153, 0, 0, TEXT("Доминика")}, - {154, 0, 0, TEXT("Доминиканская Республика")}, - {155, 0, 0, TEXT("Колумбия")}, - {156, 0, 0, TEXT("Коста-Рика")}, - {157, 0, 0, TEXT("Куба")}, - {3208, 0, 0, TEXT("Мартиника (Фр.)")}, - {158, 0, 0, TEXT("Мексика")}, - {3209, 0, 0, TEXT("Монтсеррат (Брит)")}, - {3201, 0, 0, TEXT("Нидерландские Антилы")}, - {159, 0, 0, TEXT("Никарагуа")}, - {3207, 0, 0, TEXT("Остров Кайман (Брит.)")}, - {3211, 0, 0, TEXT("Острова Теркс и Кайкос (Брит.)")}, - {160, 0, 0, TEXT("Панама")}, - {161, 0, 0, TEXT("Парагвай")}, - {162, 0, 0, TEXT("Перу")}, - {163, 0, 0, TEXT("Сальвадор")}, - {164, 0, 0, TEXT("Сент-Винсент и Гренадины")}, - {165, 0, 0, TEXT("Сент-Китс и Невис")}, - {166, 0, 0, TEXT("Сент-Люсия")}, - {3210, 0, 0, TEXT("Сент-Пьер и Микелон (Фр.)")}, - {167, 0, 0, TEXT("Суринам")}, - {168, 0, 0, TEXT("Тринидат и Тобаго")}, - {169, 0, 0, TEXT("Уругвай")}, - {3212, 0, 0, TEXT("Фолклендские острова (Брит.)")}, - {3206, 0, 0, TEXT("Французская Гвиана")}, - {170, 0, 0, TEXT("Чили")}, - {171, 0, 0, TEXT("Эквадор")}, - {3213, 0, 0, TEXT("Юж. Джорджия и Юж. Сандвичевы о-ва (Брит.)")}, - {172, 0, 0, TEXT("Ямайка")}, - {174, 0, 0, TEXT("Алжир")}, - {175, 0, 0, TEXT("Ангола")}, - {176, 0, 0, TEXT("Бенин")}, - {177, 0, 0, TEXT("Ботсвана")}, - {3228, 0, 0, TEXT("Британская территория в Индийском океане")}, - {178, 0, 0, TEXT("Буркина-Фасо")}, - {179, 0, 0, TEXT("Бурунди")}, - {180, 0, 0, TEXT("Габон")}, - {181, 0, 0, TEXT("Гамбия")}, - {182, 0, 0, TEXT("Гана")}, - {183, 0, 0, TEXT("Гвинея")}, - {184, 0, 0, TEXT("Гвинея-Бисау")}, - {185, 0, 0, TEXT("Джибути")}, - {186, 0, 0, TEXT("Египет")}, - {187, 0, 0, TEXT("Замбия")}, - {3198, 0, 0, TEXT("Зап. Сахара")}, - {23, 0, 0, TEXT("Зимбабве")}, - {188, 0, 0, TEXT("Кабо-Верде")}, - {189, 0, 0, TEXT("Камерун")}, - {190, 0, 0, TEXT("Кения")}, - {191, 0, 0, TEXT("Коморы")}, - {193, 0, 0, TEXT("Конго (Заир)")}, - {192, 0, 0, TEXT("Конго")}, - {194, 0, 0, TEXT("Кот-д`Ивуар")}, - {195, 0, 0, TEXT("Лесото")}, - {196, 0, 0, TEXT("Либерия")}, - {197, 0, 0, TEXT("Ливия")}, - {198, 0, 0, TEXT("Маврикий")}, - {199, 0, 0, TEXT("Мавритания")}, - {200, 0, 0, TEXT("Мадагаскар")}, - {3229, 0, 0, TEXT("Майотт (Фр.)")}, - {201, 0, 0, TEXT("Малави")}, - {202, 0, 0, TEXT("Мали")}, - {203, 0, 0, TEXT("Марокко")}, - {204, 0, 0, TEXT("Мозамбик")}, - {205, 0, 0, TEXT("Намибия")}, - {206, 0, 0, TEXT("Нигер")}, - {207, 0, 0, TEXT("Нигерия")}, - {3227, 0, 0, TEXT("Остров Буве (Норв.)")}, - {3197, 0, 0, TEXT("Реюньон (Фр.)")}, - {208, 0, 0, TEXT("Руанда")}, - {209, 0, 0, TEXT("Сан-Томе и Принсипи")}, - {210, 0, 0, TEXT("Свазиленд")}, - {3199, 0, 0, TEXT("Святая Елена (Брит.)")}, - {211, 0, 0, TEXT("Сейшелы")}, - {212, 0, 0, TEXT("Сенегал")}, - {213, 0, 0, TEXT("Сомали")}, - {214, 0, 0, TEXT("Судан")}, - {215, 0, 0, TEXT("Сьерра-Леоне")}, - {216, 0, 0, TEXT("Танзания")}, - {217, 0, 0, TEXT("Того")}, - {218, 0, 0, TEXT("Тунис")}, - {219, 0, 0, TEXT("Уганда")}, - {220, 0, 0, TEXT("Центральноафриканская Республика")}, - {222, 0, 0, TEXT("Чад")}, - {223, 0, 0, TEXT("Экваториальная Гвинея")}, - {221, 0, 0, TEXT("Эритрея")}, - {224, 0, 0, TEXT("Эфиопия")}, - {225, 0, 0, TEXT("Южно-Африканская Республика (ЮАР)")}, - {39, 0, 0, TEXT("Украина")}, - {40, 0, 0, TEXT("Австрия")}, - {32, 0, 0, TEXT("Албания")}, - {33, 0, 0, TEXT("Андорра")}, - {340, 0, 0, TEXT("Белоруссия")}, - {38, 0, 0, TEXT("Бельгия")}, - {41, 0, 0, TEXT("Болгария")}, - {42, 0, 0, TEXT("Босния и Герцеговина")}, - {43, 0, 0, TEXT("Ватикан")}, - {45, 0, 0, TEXT("Великобритания")}, - {44, 0, 0, TEXT("Венгрия")}, - {46, 0, 0, TEXT("Германия")}, - {3193, 0, 0, TEXT("Гернси (Брит.)")}, - {47, 0, 0, TEXT("Гибралтар (Брит.)")}, - {48, 0, 0, TEXT("Греция")}, - {49, 0, 0, TEXT("Дания")}, - {3194, 0, 0, TEXT("Джерси (Брит.)")}, - {50, 0, 0, TEXT("Ирландия")}, - {51, 0, 0, TEXT("Исландия")}, - {34, 0, 0, TEXT("Испания")}, - {52, 0, 0, TEXT("Италия")}, - {53, 0, 0, TEXT("Латвия")}, - {54, 0, 0, TEXT("Литва")}, - {55, 0, 0, TEXT("Лихтенштейн")}, - {56, 0, 0, TEXT("Люксембург")}, - {57, 0, 0, TEXT("Македония")}, - {58, 0, 0, TEXT("Мальта")}, - {59, 0, 0, TEXT("Молдавия")}, - {36, 0, 0, TEXT("Монако")}, - {60, 0, 0, TEXT("Нидерланды")}, - {61, 0, 0, TEXT("Норвегия")}, - {3195, 0, 0, TEXT("Остров Мэн (Брит.)")}, - {62, 0, 0, TEXT("Польша")}, - {35, 0, 0, TEXT("Португалия")}, - {63, 0, 0, TEXT("Румыния")}, - {64, 0, 0, TEXT("Сан-Марино")}, - {74, 0, 0, TEXT("Сербия и Черногория")}, - {65, 0, 0, TEXT("Словакия")}, - {66, 0, 0, TEXT("Словения")}, - {67, 0, 0, TEXT("Фарерские о-ва (Дания)")}, - {68, 0, 0, TEXT("Финляндия")}, - {37, 0, 0, TEXT("Франция")}, - {69, 0, 0, TEXT("Хорватия")}, - {70, 0, 0, TEXT("Чехия")}, - {71, 0, 0, TEXT("Швейцария")}, - {72, 0, 0, TEXT("Швеция")}, - {3196, 0, 0, TEXT("Шпицберген (Норв.)")}, - {73, 0, 0, TEXT("Эстония")}, - {24, 25, 0, TEXT("Москва")}, - {24, 226, 0, TEXT("Санкт-Петербург")}, - {24, 233, 0, TEXT("Саха (Якутия)")}, - {24, 232, 0, TEXT("Приморский край")}, - {24, 235, 0, TEXT("Хабаровский край")}, - {24, 227, 0, TEXT("Амурская обл.")}, - {24, 229, 0, TEXT("Камчатская обл.")}, - {24, 231, 0, TEXT("Магаданская обл.")}, - {24, 234, 0, TEXT("Сахалинская обл.")}, - {24, 228, 0, TEXT("Еврейская АО")}, - {24, 230, 0, TEXT("Корякский АО")}, - {24, 236, 0, TEXT("Чукотский АО")}, - {24, 237, 0, TEXT("Башкортостан")}, - {24, 240, 0, TEXT("Марий-Эл")}, - {24, 241, 0, TEXT("Мордовия")}, - {24, 248, 0, TEXT("Татарстан")}, - {24, 249, 0, TEXT("Удмуртия")}, - {24, 251, 0, TEXT("Чувашия")}, - {24, 238, 0, TEXT("Кировская обл.")}, - {24, 242, 0, TEXT("Нижегородская обл.")}, - {24, 243, 0, TEXT("Оренбургская обл.")}, - {24, 244, 0, TEXT("Пензенская обл.")}, - {24, 245, 0, TEXT("Пермская обл.")}, - {24, 246, 0, TEXT("Самарская обл.")}, - {24, 247, 0, TEXT("Саратовская обл.")}, - {24, 250, 0, TEXT("Ульяновская обл.")}, - {24, 239, 0, TEXT("Коми-Пермяцкий АО")}, - {24, 255, 0, TEXT("Карелия")}, - {24, 256, 0, TEXT("Коми")}, - {24, 252, 0, TEXT("Архангельская обл.")}, - {24, 253, 0, TEXT("Вологодская обл.")}, - {24, 254, 0, TEXT("Калининградская обл.")}, - {24, 257, 0, TEXT("Ленинградская обл.")}, - {24, 258, 0, TEXT("Мурманская обл.")}, - {24, 260, 0, TEXT("Новгородская обл.")}, - {24, 261, 0, TEXT("Псковская обл.")}, - {24, 259, 0, TEXT("Ненецкий АО")}, - {24, 265, 0, TEXT("Бурятия")}, - {24, 263, 0, TEXT("Республика Алтай")}, - {24, 273, 0, TEXT("Тыва")}, - {24, 275, 0, TEXT("Хакасия")}, - {24, 264, 0, TEXT("Алтайский край")}, - {24, 268, 0, TEXT("Красноярский край")}, - {24, 266, 0, TEXT("Иркутская обл.")}, - {24, 267, 0, TEXT("Кемеровская обл.")}, - {24, 269, 0, TEXT("Новосибирская обл.")}, - {24, 270, 0, TEXT("Омская обл.")}, - {24, 272, 0, TEXT("Томская обл.")}, - {24, 276, 0, TEXT("Читинская обл.")}, - {24, 262, 0, TEXT("Агинский Бурятский АО")}, - {24, 271, 0, TEXT("Таймырский АО")}, - {24, 274, 0, TEXT("Усть-Ордынский Бурятский АО")}, - {24, 277, 0, TEXT("Эвенкийский АО")}, - {24, 278, 0, TEXT("Курганская обл.")}, - {24, 279, 0, TEXT("Свердловская обл.")}, - {24, 280, 0, TEXT("Тюменская обл.")}, - {24, 282, 0, TEXT("Челябинская обл.")}, - {24, 281, 0, TEXT("Ханты-Мансийский АО - Югра")}, - {24, 283, 0, TEXT("Ямало-Ненецкий АО")}, - {24, 284, 0, TEXT("Белгородская обл.")}, - {24, 285, 0, TEXT("Брянская обл.")}, - {24, 286, 0, TEXT("Владимирская обл.")}, - {24, 287, 0, TEXT("Воронежская обл.")}, - {24, 288, 0, TEXT("Ивановская обл.")}, - {24, 289, 0, TEXT("Калужская обл.")}, - {24, 290, 0, TEXT("Костромская обл.")}, - {24, 291, 0, TEXT("Курская обл.")}, - {24, 292, 0, TEXT("Липецкая обл.")}, - {24, 293, 0, TEXT("Московская обл.")}, - {24, 294, 0, TEXT("Орловская обл.")}, - {24, 295, 0, TEXT("Рязанская обл.")}, - {24, 296, 0, TEXT("Смоленская обл.")}, - {24, 297, 0, TEXT("Тамбовская обл.")}, - {24, 298, 0, TEXT("Тверская обл.")}, - {24, 299, 0, TEXT("Тульская обл.")}, - {24, 300, 0, TEXT("Ярославская обл.")}, - {24, 301, 0, TEXT("Адыгея")}, - {24, 304, 0, TEXT("Дагестан")}, - {24, 305, 0, TEXT("Ингушетия")}, - {24, 306, 0, TEXT("Кабардино-Балкария")}, - {24, 307, 0, TEXT("Калмыкия")}, - {24, 308, 0, TEXT("Карачаево-Черкессия")}, - {24, 311, 0, TEXT("Северная Осетия - Алания")}, - {24, 313, 0, TEXT("Чечня")}, - {24, 309, 0, TEXT("Краснодарский край")}, - {24, 312, 0, TEXT("Ставропольский край")}, - {24, 302, 0, TEXT("Астраханская обл.")}, - {24, 303, 0, TEXT("Волгоградская обл.")}, - {24, 310, 0, TEXT("Ростовская обл.")}, - {81, 1055, 0, TEXT("Баку")}, - {81, 1058, 0, TEXT("Гянджа")}, - {81, 1056, 0, TEXT("Нахичевань")}, - {81, 1057, 0, TEXT("Ханкенди")}, - {81, 3153, 0, TEXT("Шеки")}, + {24, 0, 0, _T("Россия")}, + {81, 0, 0, _T("Азербайджан")}, + {82, 0, 0, _T("Армения")}, + {97, 0, 0, _T("Афганистан")}, + {96, 0, 0, _T("Бангладеш")}, + {99, 0, 0, _T("Бахрейн")}, + {100, 0, 0, _T("Бруней-Даруссалам")}, + {101, 0, 0, _T("Бутан")}, + {102, 0, 0, _T("Вьетнам")}, + {83, 0, 0, _T("Грузия")}, + {86, 0, 0, _T("Израиль")}, + {95, 0, 0, _T("Индия")}, + {103, 0, 0, _T("Индонезия")}, + {79, 0, 0, _T("Иордания")}, + {85, 0, 0, _T("Ирак")}, + {87, 0, 0, _T("Иран")}, + {104, 0, 0, _T("Йемен")}, + {84, 0, 0, _T("Казахстан")}, + {105, 0, 0, _T("Камбоджа")}, + {106, 0, 0, _T("Катар")}, + {107, 0, 0, _T("Кипр")}, + {92, 0, 0, _T("Киргизия (Кыргызстан)")}, + {76, 0, 0, _T("Китай")}, + {3215, 0, 0, _T("Кокосовые острова (Австр.)")}, + {29, 0, 0, _T("Корея (КНДР)")}, + {108, 0, 0, _T("Корея")}, + {88, 0, 0, _T("Кувейт")}, + {109, 0, 0, _T("Лаос")}, + {110, 0, 0, _T("Ливан")}, + {111, 0, 0, _T("Малайзия")}, + {112, 0, 0, _T("Мальдивы")}, + {113, 0, 0, _T("Монголия")}, + {114, 0, 0, _T("Мьянма")}, + {115, 0, 0, _T("Непал")}, + {116, 0, 0, _T("Объединенные Арабские Эмираты")}, + {117, 0, 0, _T("Оман")}, + {3216, 0, 0, _T("Остров Рождества (Австр.)")}, + {122, 0, 0, _T("Пакистан")}, + {89, 0, 0, _T("Палестина")}, + {94, 0, 0, _T("Саудовская Аравия")}, + {118, 0, 0, _T("Сингапур")}, + {78, 0, 0, _T("Сирия")}, + {91, 0, 0, _T("Таджикистан")}, + {119, 0, 0, _T("Таиланд")}, + {120, 0, 0, _T("Тайвань")}, + {132, 0, 0, _T("Тимор")}, + {90, 0, 0, _T("Туркмения")}, + {77, 0, 0, _T("Турция")}, + {93, 0, 0, _T("Узбекистан")}, + {121, 0, 0, _T("Филиппины")}, + {98, 0, 0, _T("Шри Ланка")}, + {75, 0, 0, _T("Япония")}, + {123, 0, 0, _T("Австралия")}, + {454, 0, 0, _T("Американское Самоа")}, + {124, 0, 0, _T("Вануату")}, + {453, 0, 0, _T("Гуам (США)")}, + {126, 0, 0, _T("Кирибати")}, + {127, 0, 0, _T("Маршалловы Острова")}, + {128, 0, 0, _T("Микронезия (Федеративные Штаты Микронезии)")}, + {129, 0, 0, _T("Науру")}, + {3220, 0, 0, _T("Ниуэ (Н.Зел.)")}, + {130, 0, 0, _T("Новая Зеландия")}, + {3218, 0, 0, _T("Новая Каледония (Фр.)")}, + {3221, 0, 0, _T("Острова Кука (Н.Зел.)")}, + {3230, 0, 0, _T("Острова Херд и Макдональд (Австр.)")}, + {131, 0, 0, _T("Палау")}, + {133, 0, 0, _T("Папуа - Новая Гвинея")}, + {3222, 0, 0, _T("Питкерн (Брит.)")}, + {125, 0, 0, _T("Самоа")}, + {3219, 0, 0, _T("Сев. Марианские острова (США)")}, + {134, 0, 0, _T("Соломоновы Острова")}, + {3223, 0, 0, _T("Токелау (Н.Зел.)")}, + {135, 0, 0, _T("Тонга")}, + {136, 0, 0, _T("Тувалу")}, + {3224, 0, 0, _T("Уоллис и Футуна острова (Фр.)")}, + {137, 0, 0, _T("Фиджи")}, + {3226, 0, 0, _T("Французская Полинезия")}, + {3225, 0, 0, _T("Французские Южные территории")}, + {138, 0, 0, _T("Канада")}, + {139, 0, 0, _T("США")}, + {3200, 0, 0, _T("Ангилья (Брит.)")}, + {140, 0, 0, _T("Антигуа и Барбуда")}, + {141, 0, 0, _T("Аргентина")}, + {3202, 0, 0, _T("Аруба (Нид.)")}, + {142, 0, 0, _T("Багамы")}, + {143, 0, 0, _T("Барбадос")}, + {146, 0, 0, _T("Белиз")}, + {3203, 0, 0, _T("Бермуды (Брит.)")}, + {144, 0, 0, _T("Боливия")}, + {145, 0, 0, _T("Бразилия")}, + {147, 0, 0, _T("Венесуэла")}, + {3204, 0, 0, _T("Виргинские острова (Брит.)")}, + {452, 0, 0, _T("Виргинские острова (США)")}, + {149, 0, 0, _T("Гаити")}, + {148, 0, 0, _T("Гайана")}, + {3205, 0, 0, _T("Гваделупа (Фр.)")}, + {173, 0, 0, _T("Гватемала")}, + {150, 0, 0, _T("Гондурас")}, + {151, 0, 0, _T("Гренада")}, + {152, 0, 0, _T("Гренландия (Дат.)")}, + {153, 0, 0, _T("Доминика")}, + {154, 0, 0, _T("Доминиканская Республика")}, + {155, 0, 0, _T("Колумбия")}, + {156, 0, 0, _T("Коста-Рика")}, + {157, 0, 0, _T("Куба")}, + {3208, 0, 0, _T("Мартиника (Фр.)")}, + {158, 0, 0, _T("Мексика")}, + {3209, 0, 0, _T("Монтсеррат (Брит)")}, + {3201, 0, 0, _T("Нидерландские Антилы")}, + {159, 0, 0, _T("Никарагуа")}, + {3207, 0, 0, _T("Остров Кайман (Брит.)")}, + {3211, 0, 0, _T("Острова Теркс и Кайкос (Брит.)")}, + {160, 0, 0, _T("Панама")}, + {161, 0, 0, _T("Парагвай")}, + {162, 0, 0, _T("Перу")}, + {163, 0, 0, _T("Сальвадор")}, + {164, 0, 0, _T("Сент-Винсент и Гренадины")}, + {165, 0, 0, _T("Сент-Китс и Невис")}, + {166, 0, 0, _T("Сент-Люсия")}, + {3210, 0, 0, _T("Сент-Пьер и Микелон (Фр.)")}, + {167, 0, 0, _T("Суринам")}, + {168, 0, 0, _T("Тринидат и Тобаго")}, + {169, 0, 0, _T("Уругвай")}, + {3212, 0, 0, _T("Фолклендские острова (Брит.)")}, + {3206, 0, 0, _T("Французская Гвиана")}, + {170, 0, 0, _T("Чили")}, + {171, 0, 0, _T("Эквадор")}, + {3213, 0, 0, _T("Юж. Джорджия и Юж. Сандвичевы о-ва (Брит.)")}, + {172, 0, 0, _T("Ямайка")}, + {174, 0, 0, _T("Алжир")}, + {175, 0, 0, _T("Ангола")}, + {176, 0, 0, _T("Бенин")}, + {177, 0, 0, _T("Ботсвана")}, + {3228, 0, 0, _T("Британская территория в Индийском океане")}, + {178, 0, 0, _T("Буркина-Фасо")}, + {179, 0, 0, _T("Бурунди")}, + {180, 0, 0, _T("Габон")}, + {181, 0, 0, _T("Гамбия")}, + {182, 0, 0, _T("Гана")}, + {183, 0, 0, _T("Гвинея")}, + {184, 0, 0, _T("Гвинея-Бисау")}, + {185, 0, 0, _T("Джибути")}, + {186, 0, 0, _T("Египет")}, + {187, 0, 0, _T("Замбия")}, + {3198, 0, 0, _T("Зап. Сахара")}, + {23, 0, 0, _T("Зимбабве")}, + {188, 0, 0, _T("Кабо-Верде")}, + {189, 0, 0, _T("Камерун")}, + {190, 0, 0, _T("Кения")}, + {191, 0, 0, _T("Коморы")}, + {193, 0, 0, _T("Конго (Заир)")}, + {192, 0, 0, _T("Конго")}, + {194, 0, 0, _T("Кот-д`Ивуар")}, + {195, 0, 0, _T("Лесото")}, + {196, 0, 0, _T("Либерия")}, + {197, 0, 0, _T("Ливия")}, + {198, 0, 0, _T("Маврикий")}, + {199, 0, 0, _T("Мавритания")}, + {200, 0, 0, _T("Мадагаскар")}, + {3229, 0, 0, _T("Майотт (Фр.)")}, + {201, 0, 0, _T("Малави")}, + {202, 0, 0, _T("Мали")}, + {203, 0, 0, _T("Марокко")}, + {204, 0, 0, _T("Мозамбик")}, + {205, 0, 0, _T("Намибия")}, + {206, 0, 0, _T("Нигер")}, + {207, 0, 0, _T("Нигерия")}, + {3227, 0, 0, _T("Остров Буве (Норв.)")}, + {3197, 0, 0, _T("Реюньон (Фр.)")}, + {208, 0, 0, _T("Руанда")}, + {209, 0, 0, _T("Сан-Томе и Принсипи")}, + {210, 0, 0, _T("Свазиленд")}, + {3199, 0, 0, _T("Святая Елена (Брит.)")}, + {211, 0, 0, _T("Сейшелы")}, + {212, 0, 0, _T("Сенегал")}, + {213, 0, 0, _T("Сомали")}, + {214, 0, 0, _T("Судан")}, + {215, 0, 0, _T("Сьерра-Леоне")}, + {216, 0, 0, _T("Танзания")}, + {217, 0, 0, _T("Того")}, + {218, 0, 0, _T("Тунис")}, + {219, 0, 0, _T("Уганда")}, + {220, 0, 0, _T("Центральноафриканская Республика")}, + {222, 0, 0, _T("Чад")}, + {223, 0, 0, _T("Экваториальная Гвинея")}, + {221, 0, 0, _T("Эритрея")}, + {224, 0, 0, _T("Эфиопия")}, + {225, 0, 0, _T("Южно-Африканская Республика (ЮАР)")}, + {39, 0, 0, _T("Украина")}, + {40, 0, 0, _T("Австрия")}, + {32, 0, 0, _T("Албания")}, + {33, 0, 0, _T("Андорра")}, + {340, 0, 0, _T("Белоруссия")}, + {38, 0, 0, _T("Бельгия")}, + {41, 0, 0, _T("Болгария")}, + {42, 0, 0, _T("Босния и Герцеговина")}, + {43, 0, 0, _T("Ватикан")}, + {45, 0, 0, _T("Великобритания")}, + {44, 0, 0, _T("Венгрия")}, + {46, 0, 0, _T("Германия")}, + {3193, 0, 0, _T("Гернси (Брит.)")}, + {47, 0, 0, _T("Гибралтар (Брит.)")}, + {48, 0, 0, _T("Греция")}, + {49, 0, 0, _T("Дания")}, + {3194, 0, 0, _T("Джерси (Брит.)")}, + {50, 0, 0, _T("Ирландия")}, + {51, 0, 0, _T("Исландия")}, + {34, 0, 0, _T("Испания")}, + {52, 0, 0, _T("Италия")}, + {53, 0, 0, _T("Латвия")}, + {54, 0, 0, _T("Литва")}, + {55, 0, 0, _T("Лихтенштейн")}, + {56, 0, 0, _T("Люксембург")}, + {57, 0, 0, _T("Македония")}, + {58, 0, 0, _T("Мальта")}, + {59, 0, 0, _T("Молдавия")}, + {36, 0, 0, _T("Монако")}, + {60, 0, 0, _T("Нидерланды")}, + {61, 0, 0, _T("Норвегия")}, + {3195, 0, 0, _T("Остров Мэн (Брит.)")}, + {62, 0, 0, _T("Польша")}, + {35, 0, 0, _T("Португалия")}, + {63, 0, 0, _T("Румыния")}, + {64, 0, 0, _T("Сан-Марино")}, + {74, 0, 0, _T("Сербия и Черногория")}, + {65, 0, 0, _T("Словакия")}, + {66, 0, 0, _T("Словения")}, + {67, 0, 0, _T("Фарерские о-ва (Дания)")}, + {68, 0, 0, _T("Финляндия")}, + {37, 0, 0, _T("Франция")}, + {69, 0, 0, _T("Хорватия")}, + {70, 0, 0, _T("Чехия")}, + {71, 0, 0, _T("Швейцария")}, + {72, 0, 0, _T("Швеция")}, + {3196, 0, 0, _T("Шпицберген (Норв.)")}, + {73, 0, 0, _T("Эстония")}, + {24, 25, 0, _T("Москва")}, + {24, 226, 0, _T("Санкт-Петербург")}, + {24, 233, 0, _T("Саха (Якутия)")}, + {24, 232, 0, _T("Приморский край")}, + {24, 235, 0, _T("Хабаровский край")}, + {24, 227, 0, _T("Амурская обл.")}, + {24, 229, 0, _T("Камчатская обл.")}, + {24, 231, 0, _T("Магаданская обл.")}, + {24, 234, 0, _T("Сахалинская обл.")}, + {24, 228, 0, _T("Еврейская АО")}, + {24, 230, 0, _T("Корякский АО")}, + {24, 236, 0, _T("Чукотский АО")}, + {24, 237, 0, _T("Башкортостан")}, + {24, 240, 0, _T("Марий-Эл")}, + {24, 241, 0, _T("Мордовия")}, + {24, 248, 0, _T("Татарстан")}, + {24, 249, 0, _T("Удмуртия")}, + {24, 251, 0, _T("Чувашия")}, + {24, 238, 0, _T("Кировская обл.")}, + {24, 242, 0, _T("Нижегородская обл.")}, + {24, 243, 0, _T("Оренбургская обл.")}, + {24, 244, 0, _T("Пензенская обл.")}, + {24, 245, 0, _T("Пермская обл.")}, + {24, 246, 0, _T("Самарская обл.")}, + {24, 247, 0, _T("Саратовская обл.")}, + {24, 250, 0, _T("Ульяновская обл.")}, + {24, 239, 0, _T("Коми-Пермяцкий АО")}, + {24, 255, 0, _T("Карелия")}, + {24, 256, 0, _T("Коми")}, + {24, 252, 0, _T("Архангельская обл.")}, + {24, 253, 0, _T("Вологодская обл.")}, + {24, 254, 0, _T("Калининградская обл.")}, + {24, 257, 0, _T("Ленинградская обл.")}, + {24, 258, 0, _T("Мурманская обл.")}, + {24, 260, 0, _T("Новгородская обл.")}, + {24, 261, 0, _T("Псковская обл.")}, + {24, 259, 0, _T("Ненецкий АО")}, + {24, 265, 0, _T("Бурятия")}, + {24, 263, 0, _T("Республика Алтай")}, + {24, 273, 0, _T("Тыва")}, + {24, 275, 0, _T("Хакасия")}, + {24, 264, 0, _T("Алтайский край")}, + {24, 268, 0, _T("Красноярский край")}, + {24, 266, 0, _T("Иркутская обл.")}, + {24, 267, 0, _T("Кемеровская обл.")}, + {24, 269, 0, _T("Новосибирская обл.")}, + {24, 270, 0, _T("Омская обл.")}, + {24, 272, 0, _T("Томская обл.")}, + {24, 276, 0, _T("Читинская обл.")}, + {24, 262, 0, _T("Агинский Бурятский АО")}, + {24, 271, 0, _T("Таймырский АО")}, + {24, 274, 0, _T("Усть-Ордынский Бурятский АО")}, + {24, 277, 0, _T("Эвенкийский АО")}, + {24, 278, 0, _T("Курганская обл.")}, + {24, 279, 0, _T("Свердловская обл.")}, + {24, 280, 0, _T("Тюменская обл.")}, + {24, 282, 0, _T("Челябинская обл.")}, + {24, 281, 0, _T("Ханты-Мансийский АО - Югра")}, + {24, 283, 0, _T("Ямало-Ненецкий АО")}, + {24, 284, 0, _T("Белгородская обл.")}, + {24, 285, 0, _T("Брянская обл.")}, + {24, 286, 0, _T("Владимирская обл.")}, + {24, 287, 0, _T("Воронежская обл.")}, + {24, 288, 0, _T("Ивановская обл.")}, + {24, 289, 0, _T("Калужская обл.")}, + {24, 290, 0, _T("Костромская обл.")}, + {24, 291, 0, _T("Курская обл.")}, + {24, 292, 0, _T("Липецкая обл.")}, + {24, 293, 0, _T("Московская обл.")}, + {24, 294, 0, _T("Орловская обл.")}, + {24, 295, 0, _T("Рязанская обл.")}, + {24, 296, 0, _T("Смоленская обл.")}, + {24, 297, 0, _T("Тамбовская обл.")}, + {24, 298, 0, _T("Тверская обл.")}, + {24, 299, 0, _T("Тульская обл.")}, + {24, 300, 0, _T("Ярославская обл.")}, + {24, 301, 0, _T("Адыгея")}, + {24, 304, 0, _T("Дагестан")}, + {24, 305, 0, _T("Ингушетия")}, + {24, 306, 0, _T("Кабардино-Балкария")}, + {24, 307, 0, _T("Калмыкия")}, + {24, 308, 0, _T("Карачаево-Черкессия")}, + {24, 311, 0, _T("Северная Осетия - Алания")}, + {24, 313, 0, _T("Чечня")}, + {24, 309, 0, _T("Краснодарский край")}, + {24, 312, 0, _T("Ставропольский край")}, + {24, 302, 0, _T("Астраханская обл.")}, + {24, 303, 0, _T("Волгоградская обл.")}, + {24, 310, 0, _T("Ростовская обл.")}, + {81, 1055, 0, _T("Баку")}, + {81, 1058, 0, _T("Гянджа")}, + {81, 1056, 0, _T("Нахичевань")}, + {81, 1057, 0, _T("Ханкенди")}, + {81, 3153, 0, _T("Шеки")}, {81, 2291, 0, lpwszOther}, - {82, 2932, 0, TEXT("Абовян")}, - {82, 1060, 0, TEXT("Аштарак")}, - {82, 3084, 0, TEXT("Ванадзор")}, - {82, 3011, 0, TEXT("Гюмри")}, - {82, 3306, 0, TEXT("Дилижан")}, - {82, 1059, 0, TEXT("Ереван")}, - {82, 3145, 0, TEXT("Ханкенди")}, + {82, 2932, 0, _T("Абовян")}, + {82, 1060, 0, _T("Аштарак")}, + {82, 3084, 0, _T("Ванадзор")}, + {82, 3011, 0, _T("Гюмри")}, + {82, 3306, 0, _T("Дилижан")}, + {82, 1059, 0, _T("Ереван")}, + {82, 3145, 0, _T("Ханкенди")}, {82, 2292, 0, lpwszOther}, - {97, 1061, 0, TEXT("Кабул")}, + {97, 1061, 0, _T("Кабул")}, {97, 2293, 0, lpwszOther}, - {96, 1062, 0, TEXT("Дакка")}, + {96, 1062, 0, _T("Дакка")}, {96, 2294, 0, lpwszOther}, - {99, 1063, 0, TEXT("Манама")}, + {99, 1063, 0, _T("Манама")}, {99, 2295, 0, lpwszOther}, - {100, 1064, 0, TEXT("Бандар-Сери-Бегаван")}, + {100, 1064, 0, _T("Бандар-Сери-Бегаван")}, {100, 2296, 0, lpwszOther}, - {101, 1065, 0, TEXT("Тхимпху")}, + {101, 1065, 0, _T("Тхимпху")}, {101, 2297, 0, lpwszOther}, - {102, 1066, 0, TEXT("Ханой")}, + {102, 1066, 0, _T("Ханой")}, {102, 2298, 0, lpwszOther}, - {83, 1067, 0, TEXT("Батуми")}, - {83, 3158, 0, TEXT("Боржоми")}, - {83, 1068, 0, TEXT("Поти")}, - {83, 3129, 0, TEXT("Рустави")}, - {83, 1069, 0, TEXT("Сухуми")}, - {83, 1070, 0, TEXT("Тбилиси")}, + {83, 1067, 0, _T("Батуми")}, + {83, 3158, 0, _T("Боржоми")}, + {83, 1068, 0, _T("Поти")}, + {83, 3129, 0, _T("Рустави")}, + {83, 1069, 0, _T("Сухуми")}, + {83, 1070, 0, _T("Тбилиси")}, {83, 2299, 0, lpwszOther}, - {86, 3345, 0, TEXT("Ариэль")}, - {86, 1071, 0, TEXT("Афула")}, - {86, 2992, 0, TEXT("Ашдод")}, - {86, 3175, 0, TEXT("Ашкелон")}, - {86, 3363, 0, TEXT("Бат-Ям")}, - {86, 2884, 0, TEXT("Беер-Яков")}, - {86, 3243, 0, TEXT("Бейт-Шемеш")}, - {86, 1074, 0, TEXT("Беэр-Шева")}, - {86, 3348, 0, TEXT("Герцелия")}, - {86, 3241, 0, TEXT("Димона")}, - {86, 1075, 0, TEXT("Иерусалим")}, - {86, 3350, 0, TEXT("Йокнеам-Иллит")}, - {86, 2982, 0, TEXT("Кармиэль")}, - {86, 2971, 0, TEXT("Кфар-Саба")}, - {86, 3136, 0, TEXT("Назарет")}, - {86, 1080, 0, TEXT("Натания")}, - {86, 3303, 0, TEXT("Офаким")}, - {86, 3050, 0, TEXT("Раанана")}, - {86, 3151, 0, TEXT("Рамат Ган")}, - {86, 3141, 0, TEXT("Реховот")}, - {86, 3012, 0, TEXT("Ришон ле Цион")}, - {86, 1081, 0, TEXT("Тверия")}, - {86, 1077, 0, TEXT("Тель-Авив")}, - {86, 1079, 0, TEXT("Хадера")}, - {86, 1078, 0, TEXT("Хайфа")}, - {86, 1076, 0, TEXT("Хеврон")}, - {86, 2929, 0, TEXT("Цфат")}, - {86, 2928, 0, TEXT("Эйлат")}, + {86, 3345, 0, _T("Ариэль")}, + {86, 1071, 0, _T("Афула")}, + {86, 2992, 0, _T("Ашдод")}, + {86, 3175, 0, _T("Ашкелон")}, + {86, 3363, 0, _T("Бат-Ям")}, + {86, 2884, 0, _T("Беер-Яков")}, + {86, 3243, 0, _T("Бейт-Шемеш")}, + {86, 1074, 0, _T("Беэр-Шева")}, + {86, 3348, 0, _T("Герцелия")}, + {86, 3241, 0, _T("Димона")}, + {86, 1075, 0, _T("Иерусалим")}, + {86, 3350, 0, _T("Йокнеам-Иллит")}, + {86, 2982, 0, _T("Кармиэль")}, + {86, 2971, 0, _T("Кфар-Саба")}, + {86, 3136, 0, _T("Назарет")}, + {86, 1080, 0, _T("Натания")}, + {86, 3303, 0, _T("Офаким")}, + {86, 3050, 0, _T("Раанана")}, + {86, 3151, 0, _T("Рамат Ган")}, + {86, 3141, 0, _T("Реховот")}, + {86, 3012, 0, _T("Ришон ле Цион")}, + {86, 1081, 0, _T("Тверия")}, + {86, 1077, 0, _T("Тель-Авив")}, + {86, 1079, 0, _T("Хадера")}, + {86, 1078, 0, _T("Хайфа")}, + {86, 1076, 0, _T("Хеврон")}, + {86, 2929, 0, _T("Цфат")}, + {86, 2928, 0, _T("Эйлат")}, {86, 2300, 0, lpwszOther}, - {95, 3315, 0, TEXT("Бангалор")}, - {95, 1082, 0, TEXT("Дели")}, - {95, 1083, 0, TEXT("Джайпур")}, - {95, 3144, 0, TEXT("Калькутта")}, - {95, 3025, 0, TEXT("Мумбаи")}, - {95, 3277, 0, TEXT("Панаджи")}, - {95, 1084, 0, TEXT("Ченнаи")}, + {95, 3315, 0, _T("Бангалор")}, + {95, 1082, 0, _T("Дели")}, + {95, 1083, 0, _T("Джайпур")}, + {95, 3144, 0, _T("Калькутта")}, + {95, 3025, 0, _T("Мумбаи")}, + {95, 3277, 0, _T("Панаджи")}, + {95, 1084, 0, _T("Ченнаи")}, {95, 2301, 0, lpwszOther}, - {103, 1085, 0, TEXT("Джакарта")}, + {103, 1085, 0, _T("Джакарта")}, {103, 2302, 0, lpwszOther}, - {79, 1086, 0, TEXT("Амман")}, + {79, 1086, 0, _T("Амман")}, {79, 2303, 0, lpwszOther}, - {85, 1087, 0, TEXT("Багдад")}, + {85, 1087, 0, _T("Багдад")}, {85, 2304, 0, lpwszOther}, - {87, 1088, 0, TEXT("Тегеран")}, + {87, 1088, 0, _T("Тегеран")}, {87, 2305, 0, lpwszOther}, - {104, 1089, 0, TEXT("Сана")}, + {104, 1089, 0, _T("Сана")}, {104, 2306, 0, lpwszOther}, - {84, 1090, 0, TEXT("Актау")}, - {84, 1091, 0, TEXT("Актюбинск")}, - {84, 1092, 0, TEXT("Алма-Ата")}, - {84, 3242, 0, TEXT("Аршалы")}, - {84, 1093, 0, TEXT("Астана")}, - {84, 1094, 0, TEXT("Атырау (Гурьев)")}, - {84, 1095, 0, TEXT("Байконур")}, - {84, 3245, 0, TEXT("Балхаш")}, - {84, 3083, 0, TEXT("Жезказган")}, - {84, 1096, 0, TEXT("Капчагай")}, - {84, 1097, 0, TEXT("Караганда")}, - {84, 1098, 0, TEXT("Кокшетау")}, - {84, 1099, 0, TEXT("Кустанай")}, - {84, 2868, 0, TEXT("Лисаковск")}, - {84, 1100, 0, TEXT("Павлодар")}, - {84, 1101, 0, TEXT("Петропавловск (Сев.-Каз. обл.)")}, - {84, 1102, 0, TEXT("Рудный")}, - {84, 1103, 0, TEXT("Семипалатинск")}, - {84, 1104, 0, TEXT("Степногорск")}, - {84, 3166, 0, TEXT("Талгар")}, - {84, 1105, 0, TEXT("Талды-Курган")}, - {84, 2927, 0, TEXT("Тараз")}, - {84, 1106, 0, TEXT("Темиртау")}, - {84, 1107, 0, TEXT("Уральск")}, - {84, 1108, 0, TEXT("Усть-Каменогорск")}, - {84, 1109, 0, TEXT("Чимкент")}, - {84, 1110, 0, TEXT("Экибастуз")}, + {84, 1090, 0, _T("Актау")}, + {84, 1091, 0, _T("Актюбинск")}, + {84, 1092, 0, _T("Алма-Ата")}, + {84, 3242, 0, _T("Аршалы")}, + {84, 1093, 0, _T("Астана")}, + {84, 1094, 0, _T("Атырау (Гурьев)")}, + {84, 1095, 0, _T("Байконур")}, + {84, 3245, 0, _T("Балхаш")}, + {84, 3083, 0, _T("Жезказган")}, + {84, 1096, 0, _T("Капчагай")}, + {84, 1097, 0, _T("Караганда")}, + {84, 1098, 0, _T("Кокшетау")}, + {84, 1099, 0, _T("Кустанай")}, + {84, 2868, 0, _T("Лисаковск")}, + {84, 1100, 0, _T("Павлодар")}, + {84, 1101, 0, _T("Петропавловск (Сев.-Каз. обл.)")}, + {84, 1102, 0, _T("Рудный")}, + {84, 1103, 0, _T("Семипалатинск")}, + {84, 1104, 0, _T("Степногорск")}, + {84, 3166, 0, _T("Талгар")}, + {84, 1105, 0, _T("Талды-Курган")}, + {84, 2927, 0, _T("Тараз")}, + {84, 1106, 0, _T("Темиртау")}, + {84, 1107, 0, _T("Уральск")}, + {84, 1108, 0, _T("Усть-Каменогорск")}, + {84, 1109, 0, _T("Чимкент")}, + {84, 1110, 0, _T("Экибастуз")}, {84, 2307, 0, lpwszOther}, - {105, 1111, 0, TEXT("Пномпень")}, + {105, 1111, 0, _T("Пномпень")}, {105, 2308, 0, lpwszOther}, - {106, 1112, 0, TEXT("Доха")}, + {106, 1112, 0, _T("Доха")}, {106, 2309, 0, lpwszOther}, - {107, 1113, 0, TEXT("Ларнака")}, - {107, 1114, 0, TEXT("Лимассол")}, - {107, 1115, 0, TEXT("Никосия")}, - {107, 2954, 0, TEXT("Пафос")}, + {107, 1113, 0, _T("Ларнака")}, + {107, 1114, 0, _T("Лимассол")}, + {107, 1115, 0, _T("Никосия")}, + {107, 2954, 0, _T("Пафос")}, {107, 2310, 0, lpwszOther}, - {92, 1116, 0, TEXT("Бишкек")}, - {92, 1117, 0, TEXT("Джалал-Абад")}, - {92, 3027, 0, TEXT("Кара-Балта")}, - {92, 1118, 0, TEXT("Каракол")}, - {92, 1119, 0, TEXT("Ош")}, - {92, 1120, 0, TEXT("Талас")}, - {92, 2933, 0, TEXT("Хайдаркен")}, + {92, 1116, 0, _T("Бишкек")}, + {92, 1117, 0, _T("Джалал-Абад")}, + {92, 3027, 0, _T("Кара-Балта")}, + {92, 1118, 0, _T("Каракол")}, + {92, 1119, 0, _T("Ош")}, + {92, 1120, 0, _T("Талас")}, + {92, 2933, 0, _T("Хайдаркен")}, {92, 2311, 0, lpwszOther}, - {76, 3214, 0, TEXT("Аомынь (Макао)")}, - {76, 1121, 0, TEXT("Гонконг")}, - {76, 2869, 0, TEXT("Гуанчжоу")}, - {76, 3262, 0, TEXT("Далянь")}, - {76, 1122, 0, TEXT("Пекин")}, - {76, 1123, 0, TEXT("Харбин")}, - {76, 1124, 0, TEXT("Шанхай")}, - {76, 3043, 0, TEXT("Шеньян")}, + {76, 3214, 0, _T("Аомынь (Макао)")}, + {76, 1121, 0, _T("Гонконг")}, + {76, 2869, 0, _T("Гуанчжоу")}, + {76, 3262, 0, _T("Далянь")}, + {76, 1122, 0, _T("Пекин")}, + {76, 1123, 0, _T("Харбин")}, + {76, 1124, 0, _T("Шанхай")}, + {76, 3043, 0, _T("Шеньян")}, {76, 2312, 0, lpwszOther}, - {29, 1125, 0, TEXT("Пхеньян")}, + {29, 1125, 0, _T("Пхеньян")}, {29, 2313, 0, lpwszOther}, - {108, 1126, 0, TEXT("Сеул")}, - {108, 3240, 0, TEXT("Тейджон")}, + {108, 1126, 0, _T("Сеул")}, + {108, 3240, 0, _T("Тейджон")}, {108, 2314, 0, lpwszOther}, - {88, 1127, 0, TEXT("Эль-Кувейт")}, + {88, 1127, 0, _T("Эль-Кувейт")}, {88, 2315, 0, lpwszOther}, - {109, 1128, 0, TEXT("Вьентьян")}, + {109, 1128, 0, _T("Вьентьян")}, {109, 2316, 0, lpwszOther}, - {110, 1129, 0, TEXT("Бейрут")}, + {110, 1129, 0, _T("Бейрут")}, {110, 2317, 0, lpwszOther}, - {111, 1130, 0, TEXT("Джохор-Бару")}, - {111, 1131, 0, TEXT("Куала-Лумпур")}, + {111, 1130, 0, _T("Джохор-Бару")}, + {111, 1131, 0, _T("Куала-Лумпур")}, {111, 2318, 0, lpwszOther}, - {112, 1132, 0, TEXT("Мале")}, + {112, 1132, 0, _T("Мале")}, {112, 2319, 0, lpwszOther}, - {113, 1133, 0, TEXT("Улан-Батор")}, - {113, 1134, 0, TEXT("Эрдэнэт")}, + {113, 1133, 0, _T("Улан-Батор")}, + {113, 1134, 0, _T("Эрдэнэт")}, {113, 2320, 0, lpwszOther}, - {114, 1135, 0, TEXT("Янгон")}, + {114, 1135, 0, _T("Янгон")}, {114, 2321, 0, lpwszOther}, - {115, 1136, 0, TEXT("Катманду")}, + {115, 1136, 0, _T("Катманду")}, {115, 2322, 0, lpwszOther}, - {116, 1137, 0, TEXT("Абу-Даби")}, - {116, 1138, 0, TEXT("Дубай")}, - {116, 1139, 0, TEXT("Шарджа")}, + {116, 1137, 0, _T("Абу-Даби")}, + {116, 1138, 0, _T("Дубай")}, + {116, 1139, 0, _T("Шарджа")}, {116, 2323, 0, lpwszOther}, - {117, 1140, 0, TEXT("Маскат")}, + {117, 1140, 0, _T("Маскат")}, {117, 2324, 0, lpwszOther}, - {122, 1141, 0, TEXT("Исламабад")}, + {122, 1141, 0, _T("Исламабад")}, {122, 2325, 0, lpwszOther}, - {89, 1072, 0, TEXT("Ашдод")}, - {89, 1073, 0, TEXT("Ашкелон")}, - {89, 1142, 0, TEXT("Газа")}, + {89, 1072, 0, _T("Ашдод")}, + {89, 1073, 0, _T("Ашкелон")}, + {89, 1142, 0, _T("Газа")}, {89, 2326, 0, lpwszOther}, - {94, 3250, 0, TEXT("Медина")}, - {94, 1143, 0, TEXT("Эр-Рияд")}, + {94, 3250, 0, _T("Медина")}, + {94, 1143, 0, _T("Эр-Рияд")}, {94, 2327, 0, lpwszOther}, - {78, 1144, 0, TEXT("Дамаск")}, + {78, 1144, 0, _T("Дамаск")}, {78, 2328, 0, lpwszOther}, - {91, 1145, 0, TEXT("Душанбе")}, - {91, 3307, 0, TEXT("Кайраккум")}, - {91, 3308, 0, TEXT("Худжанд")}, + {91, 1145, 0, _T("Душанбе")}, + {91, 3307, 0, _T("Кайраккум")}, + {91, 3308, 0, _T("Худжанд")}, {91, 2329, 0, lpwszOther}, - {119, 1146, 0, TEXT("Бангкок")}, - {119, 1147, 0, TEXT("Пхукет")}, + {119, 1146, 0, _T("Бангкок")}, + {119, 1147, 0, _T("Пхукет")}, {119, 2330, 0, lpwszOther}, - {120, 1148, 0, TEXT("Тайбэй")}, + {120, 1148, 0, _T("Тайбэй")}, {120, 2331, 0, lpwszOther}, - {132, 1149, 0, TEXT("Дили")}, + {132, 1149, 0, _T("Дили")}, {132, 2332, 0, lpwszOther}, - {90, 1150, 0, TEXT("Ашхабад")}, - {90, 3079, 0, TEXT("Безмеин")}, + {90, 1150, 0, _T("Ашхабад")}, + {90, 3079, 0, _T("Безмеин")}, {90, 2333, 0, lpwszOther}, - {77, 1152, 0, TEXT("Анкара")}, - {77, 1153, 0, TEXT("Анталия")}, - {77, 3080, 0, TEXT("Бурса")}, - {77, 1151, 0, TEXT("Мармарис")}, - {77, 1154, 0, TEXT("Стамбул")}, - {77, 1155, 0, TEXT("Трабзон")}, + {77, 1152, 0, _T("Анкара")}, + {77, 1153, 0, _T("Анталия")}, + {77, 3080, 0, _T("Бурса")}, + {77, 1151, 0, _T("Мармарис")}, + {77, 1154, 0, _T("Стамбул")}, + {77, 1155, 0, _T("Трабзон")}, {77, 2334, 0, lpwszOther}, - {93, 3362, 0, TEXT("Алмалык")}, - {93, 3137, 0, TEXT("Андижан")}, - {93, 3273, 0, TEXT("Асака")}, - {93, 1156, 0, TEXT("Ахангаран")}, - {93, 1157, 0, TEXT("Бухара")}, - {93, 3167, 0, TEXT("Джизак")}, - {93, 3347, 0, TEXT("Кунград")}, - {93, 1158, 0, TEXT("Навои")}, - {93, 1159, 0, TEXT("Наманган")}, - {93, 1160, 0, TEXT("Самарканд")}, - {93, 1161, 0, TEXT("Ташкент")}, - {93, 1162, 0, TEXT("Ургенч")}, - {93, 1163, 0, TEXT("Фергана")}, - {93, 1164, 0, TEXT("Чирчик")}, + {93, 3362, 0, _T("Алмалык")}, + {93, 3137, 0, _T("Андижан")}, + {93, 3273, 0, _T("Асака")}, + {93, 1156, 0, _T("Ахангаран")}, + {93, 1157, 0, _T("Бухара")}, + {93, 3167, 0, _T("Джизак")}, + {93, 3347, 0, _T("Кунград")}, + {93, 1158, 0, _T("Навои")}, + {93, 1159, 0, _T("Наманган")}, + {93, 1160, 0, _T("Самарканд")}, + {93, 1161, 0, _T("Ташкент")}, + {93, 1162, 0, _T("Ургенч")}, + {93, 1163, 0, _T("Фергана")}, + {93, 1164, 0, _T("Чирчик")}, {93, 2335, 0, lpwszOther}, - {121, 1165, 0, TEXT("Манила")}, - {121, 3319, 0, TEXT("Себу")}, + {121, 1165, 0, _T("Манила")}, + {121, 3319, 0, _T("Себу")}, {121, 2336, 0, lpwszOther}, - {98, 1166, 0, TEXT("Коломбо")}, + {98, 1166, 0, _T("Коломбо")}, {98, 2337, 0, lpwszOther}, - {75, 3176, 0, TEXT("Исесаки")}, - {75, 3339, 0, TEXT("Корияма")}, - {75, 1167, 0, TEXT("Саппоро")}, - {75, 1168, 0, TEXT("Токио")}, + {75, 3176, 0, _T("Исесаки")}, + {75, 3339, 0, _T("Корияма")}, + {75, 1167, 0, _T("Саппоро")}, + {75, 1168, 0, _T("Токио")}, {75, 2338, 0, lpwszOther}, - {123, 1914, 0, TEXT("Аделаида")}, - {123, 2957, 0, TEXT("Блэк Рок")}, - {123, 1915, 0, TEXT("Брисбен")}, - {123, 3331, 0, TEXT("Горокан")}, - {123, 1916, 0, TEXT("Канберра")}, - {123, 3001, 0, TEXT("Лидкомб")}, - {123, 1917, 0, TEXT("Мельбурн")}, - {123, 3217, 0, TEXT("Норфолк")}, - {123, 3064, 0, TEXT("Перт")}, - {123, 3020, 0, TEXT("Санта Люсиа")}, - {123, 1918, 0, TEXT("Сидней")}, - {123, 3238, 0, TEXT("Энеабба")}, + {123, 1914, 0, _T("Аделаида")}, + {123, 2957, 0, _T("Блэк Рок")}, + {123, 1915, 0, _T("Брисбен")}, + {123, 3331, 0, _T("Горокан")}, + {123, 1916, 0, _T("Канберра")}, + {123, 3001, 0, _T("Лидкомб")}, + {123, 1917, 0, _T("Мельбурн")}, + {123, 3217, 0, _T("Норфолк")}, + {123, 3064, 0, _T("Перт")}, + {123, 3020, 0, _T("Санта Люсиа")}, + {123, 1918, 0, _T("Сидней")}, + {123, 3238, 0, _T("Энеабба")}, {123, 2339, 0, lpwszOther}, - {454, 1192, 0, TEXT("Паго-Паго")}, + {454, 1192, 0, _T("Паго-Паго")}, {454, 2366, 0, lpwszOther}, - {124, 1919, 0, TEXT("Порт-Вила")}, + {124, 1919, 0, _T("Порт-Вила")}, {124, 2340, 0, lpwszOther}, - {453, 1193, 0, TEXT("Аганья")}, + {453, 1193, 0, _T("Аганья")}, {453, 2368, 0, lpwszOther}, - {126, 1921, 0, TEXT("Баирики")}, + {126, 1921, 0, _T("Баирики")}, {126, 2342, 0, lpwszOther}, - {127, 1922, 0, TEXT("Маджуро")}, + {127, 1922, 0, _T("Маджуро")}, {127, 2343, 0, lpwszOther}, - {128, 1923, 0, TEXT("Паликир")}, + {128, 1923, 0, _T("Паликир")}, {128, 2344, 0, lpwszOther}, - {129, 1924, 0, TEXT("Ярен")}, + {129, 1924, 0, _T("Ярен")}, {129, 2345, 0, lpwszOther}, - {130, 1925, 0, TEXT("Веллингтон")}, - {130, 1926, 0, TEXT("Гамильтон")}, - {130, 1928, 0, TEXT("Данидин")}, - {130, 1929, 0, TEXT("Крайстчерч")}, - {130, 3235, 0, TEXT("Кромвель")}, - {130, 1927, 0, TEXT("Окленд")}, - {130, 3323, 0, TEXT("Тауранга")}, + {130, 1925, 0, _T("Веллингтон")}, + {130, 1926, 0, _T("Гамильтон")}, + {130, 1928, 0, _T("Данидин")}, + {130, 1929, 0, _T("Крайстчерч")}, + {130, 3235, 0, _T("Кромвель")}, + {130, 1927, 0, _T("Окленд")}, + {130, 3323, 0, _T("Тауранга")}, {130, 2346, 0, lpwszOther}, - {131, 1930, 0, TEXT("Корор")}, + {131, 1930, 0, _T("Корор")}, {131, 2347, 0, lpwszOther}, - {133, 1931, 0, TEXT("Порт-Морсби")}, + {133, 1931, 0, _T("Порт-Морсби")}, {133, 2348, 0, lpwszOther}, - {125, 1920, 0, TEXT("Апиа")}, + {125, 1920, 0, _T("Апиа")}, {125, 2341, 0, lpwszOther}, - {134, 1932, 0, TEXT("Хониара")}, + {134, 1932, 0, _T("Хониара")}, {134, 2349, 0, lpwszOther}, - {135, 1933, 0, TEXT("Нукуалофа")}, + {135, 1933, 0, _T("Нукуалофа")}, {135, 2350, 0, lpwszOther}, - {136, 1934, 0, TEXT("Фунафути")}, + {136, 1934, 0, _T("Фунафути")}, {136, 2351, 0, lpwszOther}, - {137, 1935, 0, TEXT("Сува")}, + {137, 1935, 0, _T("Сува")}, {137, 2352, 0, lpwszOther}, - {138, 3055, 0, TEXT("Барлингтон")}, - {138, 3049, 0, TEXT("Броссард")}, - {138, 3330, 0, TEXT("Бурнаби")}, - {138, 1169, 0, TEXT("Ванкувер")}, - {138, 3106, 0, TEXT("Ватерлоо")}, - {138, 1170, 0, TEXT("Виннипег")}, - {138, 1171, 0, TEXT("Галифакс")}, - {138, 1172, 0, TEXT("Гамильтон")}, - {138, 3365, 0, TEXT("Денвер")}, - {138, 1173, 0, TEXT("Калгари")}, - {138, 3104, 0, TEXT("Камлупс")}, - {138, 3366, 0, TEXT("Каннингтон")}, - {138, 1174, 0, TEXT("Квебек")}, - {138, 2964, 0, TEXT("Кингстон")}, - {138, 3113, 0, TEXT("Коквитлам")}, - {138, 1175, 0, TEXT("Монреаль")}, - {138, 2920, 0, TEXT("Ниагара-Фолс")}, - {138, 2889, 0, TEXT("Норд-Йорк")}, - {138, 1176, 0, TEXT("Оттава")}, - {138, 2903, 0, TEXT("Порт Алберни")}, - {138, 1177, 0, TEXT("Ричмонд")}, - {138, 1178, 0, TEXT("Тимминс")}, - {138, 2946, 0, TEXT("Торнхилл")}, - {138, 1179, 0, TEXT("Торонто")}, - {138, 1180, 0, TEXT("Эдмонтон")}, + {138, 3055, 0, _T("Барлингтон")}, + {138, 3049, 0, _T("Броссард")}, + {138, 3330, 0, _T("Бурнаби")}, + {138, 1169, 0, _T("Ванкувер")}, + {138, 3106, 0, _T("Ватерлоо")}, + {138, 1170, 0, _T("Виннипег")}, + {138, 1171, 0, _T("Галифакс")}, + {138, 1172, 0, _T("Гамильтон")}, + {138, 3365, 0, _T("Денвер")}, + {138, 1173, 0, _T("Калгари")}, + {138, 3104, 0, _T("Камлупс")}, + {138, 3366, 0, _T("Каннингтон")}, + {138, 1174, 0, _T("Квебек")}, + {138, 2964, 0, _T("Кингстон")}, + {138, 3113, 0, _T("Коквитлам")}, + {138, 1175, 0, _T("Монреаль")}, + {138, 2920, 0, _T("Ниагара-Фолс")}, + {138, 2889, 0, _T("Норд-Йорк")}, + {138, 1176, 0, _T("Оттава")}, + {138, 2903, 0, _T("Порт Алберни")}, + {138, 1177, 0, _T("Ричмонд")}, + {138, 1178, 0, _T("Тимминс")}, + {138, 2946, 0, _T("Торнхилл")}, + {138, 1179, 0, _T("Торонто")}, + {138, 1180, 0, _T("Эдмонтон")}, {138, 2353, 0, lpwszOther}, - {139, 407, 0, TEXT("Вашингтон")}, - {139, 426, 0, TEXT("Айдахо")}, - {139, 378, 0, TEXT("Айова")}, - {139, 412, 0, TEXT("Алабама")}, - {139, 446, 0, TEXT("Аляска")}, - {139, 434, 0, TEXT("Аризона")}, - {139, 416, 0, TEXT("Арканзас")}, - {139, 428, 0, TEXT("Вайоминг")}, - {139, 440, 0, TEXT("Вашингтон")}, - {139, 352, 0, TEXT("Вермонт")}, - {139, 394, 0, TEXT("Виргиния")}, - {139, 374, 0, TEXT("Висконсин")}, - {139, 448, 0, TEXT("Гавайи")}, - {139, 390, 0, TEXT("Делавер")}, - {139, 402, 0, TEXT("Джорджия")}, - {139, 396, 0, TEXT("Западная Виргиния")}, - {139, 370, 0, TEXT("Иллинойс")}, - {139, 368, 0, TEXT("Индиана")}, - {139, 444, 0, TEXT("Калифорния")}, - {139, 388, 0, TEXT("Канзас")}, - {139, 408, 0, TEXT("Кентукки")}, - {139, 430, 0, TEXT("Колорадо")}, - {139, 358, 0, TEXT("Коннектикут")}, - {139, 418, 0, TEXT("Луизиана")}, - {139, 354, 0, TEXT("Массачусетс")}, - {139, 376, 0, TEXT("Миннесота")}, - {139, 414, 0, TEXT("Миссисипи")}, - {139, 380, 0, TEXT("Миссури")}, - {139, 372, 0, TEXT("Мичиган")}, - {139, 424, 0, TEXT("Монтана")}, - {139, 348, 0, TEXT("Мэн")}, - {139, 392, 0, TEXT("Мэриленд")}, - {139, 386, 0, TEXT("Небраска")}, - {139, 438, 0, TEXT("Невада")}, - {139, 362, 0, TEXT("Нью-Джерси")}, - {139, 360, 0, TEXT("Нью-Йорк")}, - {139, 432, 0, TEXT("Нью-Мексико")}, - {139, 350, 0, TEXT("Нью-Хэмпшир")}, - {139, 366, 0, TEXT("Огайо")}, - {139, 420, 0, TEXT("Оклахома")}, - {139, 442, 0, TEXT("Орегон")}, - {139, 364, 0, TEXT("Пенсильвания")}, - {139, 450, 0, TEXT("Пуэрто-Рико")}, - {139, 356, 0, TEXT("Род-Айленд")}, - {139, 382, 0, TEXT("Северная Дакота")}, - {139, 398, 0, TEXT("Северная Каролина")}, - {139, 410, 0, TEXT("Теннесси")}, - {139, 422, 0, TEXT("Техас")}, - {139, 406, 0, TEXT("Федеральный округ Колумбия")}, - {139, 404, 0, TEXT("Флорида")}, - {139, 384, 0, TEXT("Южная Дакота")}, - {139, 400, 0, TEXT("Южная Каролина")}, - {139, 436, 0, TEXT("Юта")}, - {140, 1238, 0, TEXT("Сент-Джонс")}, + {139, 407, 0, _T("Вашингтон")}, + {139, 426, 0, _T("Айдахо")}, + {139, 378, 0, _T("Айова")}, + {139, 412, 0, _T("Алабама")}, + {139, 446, 0, _T("Аляска")}, + {139, 434, 0, _T("Аризона")}, + {139, 416, 0, _T("Арканзас")}, + {139, 428, 0, _T("Вайоминг")}, + {139, 440, 0, _T("Вашингтон")}, + {139, 352, 0, _T("Вермонт")}, + {139, 394, 0, _T("Виргиния")}, + {139, 374, 0, _T("Висконсин")}, + {139, 448, 0, _T("Гавайи")}, + {139, 390, 0, _T("Делавер")}, + {139, 402, 0, _T("Джорджия")}, + {139, 396, 0, _T("Западная Виргиния")}, + {139, 370, 0, _T("Иллинойс")}, + {139, 368, 0, _T("Индиана")}, + {139, 444, 0, _T("Калифорния")}, + {139, 388, 0, _T("Канзас")}, + {139, 408, 0, _T("Кентукки")}, + {139, 430, 0, _T("Колорадо")}, + {139, 358, 0, _T("Коннектикут")}, + {139, 418, 0, _T("Луизиана")}, + {139, 354, 0, _T("Массачусетс")}, + {139, 376, 0, _T("Миннесота")}, + {139, 414, 0, _T("Миссисипи")}, + {139, 380, 0, _T("Миссури")}, + {139, 372, 0, _T("Мичиган")}, + {139, 424, 0, _T("Монтана")}, + {139, 348, 0, _T("Мэн")}, + {139, 392, 0, _T("Мэриленд")}, + {139, 386, 0, _T("Небраска")}, + {139, 438, 0, _T("Невада")}, + {139, 362, 0, _T("Нью-Джерси")}, + {139, 360, 0, _T("Нью-Йорк")}, + {139, 432, 0, _T("Нью-Мексико")}, + {139, 350, 0, _T("Нью-Хэмпшир")}, + {139, 366, 0, _T("Огайо")}, + {139, 420, 0, _T("Оклахома")}, + {139, 442, 0, _T("Орегон")}, + {139, 364, 0, _T("Пенсильвания")}, + {139, 450, 0, _T("Пуэрто-Рико")}, + {139, 356, 0, _T("Род-Айленд")}, + {139, 382, 0, _T("Северная Дакота")}, + {139, 398, 0, _T("Северная Каролина")}, + {139, 410, 0, _T("Теннесси")}, + {139, 422, 0, _T("Техас")}, + {139, 406, 0, _T("Федеральный округ Колумбия")}, + {139, 404, 0, _T("Флорида")}, + {139, 384, 0, _T("Южная Дакота")}, + {139, 400, 0, _T("Южная Каролина")}, + {139, 436, 0, _T("Юта")}, + {140, 1238, 0, _T("Сент-Джонс")}, {140, 2442, 0, lpwszOther}, - {141, 1239, 0, TEXT("Буэнос-Айрес")}, + {141, 1239, 0, _T("Буэнос-Айрес")}, {141, 2441, 0, lpwszOther}, - {142, 1240, 0, TEXT("Нассау")}, + {142, 1240, 0, _T("Нассау")}, {142, 2440, 0, lpwszOther}, - {143, 1241, 0, TEXT("Бриджтаун")}, + {143, 1241, 0, _T("Бриджтаун")}, {143, 2439, 0, lpwszOther}, - {146, 1242, 0, TEXT("Бельмопан")}, + {146, 1242, 0, _T("Бельмопан")}, {146, 2438, 0, lpwszOther}, - {144, 1243, 0, TEXT("Ла-Пас")}, + {144, 1243, 0, _T("Ла-Пас")}, {144, 2437, 0, lpwszOther}, - {145, 1244, 0, TEXT("Бразилиа")}, - {145, 3094, 0, TEXT("Пассо Фундо")}, - {145, 1245, 0, TEXT("Рио-де-Жанейро")}, - {145, 1246, 0, TEXT("Сан-Паулу")}, + {145, 1244, 0, _T("Бразилиа")}, + {145, 3094, 0, _T("Пассо Фундо")}, + {145, 1245, 0, _T("Рио-де-Жанейро")}, + {145, 1246, 0, _T("Сан-Паулу")}, {145, 2436, 0, lpwszOther}, - {147, 1247, 0, TEXT("Каракас")}, + {147, 1247, 0, _T("Каракас")}, {147, 2435, 0, lpwszOther}, - {452, 1190, 0, TEXT("Шарлотта-Амалия")}, + {452, 1190, 0, _T("Шарлотта-Амалия")}, {452, 2364, 0, lpwszOther}, - {149, 1248, 0, TEXT("Порт-о-Пренс")}, + {149, 1248, 0, _T("Порт-о-Пренс")}, {149, 2434, 0, lpwszOther}, - {148, 1249, 0, TEXT("Джоржтаун")}, + {148, 1249, 0, _T("Джоржтаун")}, {148, 2433, 0, lpwszOther}, - {173, 1250, 0, TEXT("Гватемала")}, + {173, 1250, 0, _T("Гватемала")}, {173, 2432, 0, lpwszOther}, - {150, 1251, 0, TEXT("Тегусигальпа")}, + {150, 1251, 0, _T("Тегусигальпа")}, {150, 2431, 0, lpwszOther}, - {151, 1252, 0, TEXT("Сент-Джорджес")}, + {151, 1252, 0, _T("Сент-Джорджес")}, {151, 2430, 0, lpwszOther}, - {152, 1253, 0, TEXT("Уманак")}, + {152, 1253, 0, _T("Уманак")}, {152, 2429, 0, lpwszOther}, - {153, 1254, 0, TEXT("Розо")}, + {153, 1254, 0, _T("Розо")}, {153, 2428, 0, lpwszOther}, - {154, 1255, 0, TEXT("Санто-Доминго")}, + {154, 1255, 0, _T("Санто-Доминго")}, {154, 2427, 0, lpwszOther}, - {155, 1256, 0, TEXT("Богота")}, + {155, 1256, 0, _T("Богота")}, {155, 2426, 0, lpwszOther}, - {156, 1257, 0, TEXT("Сан-Хосе")}, + {156, 1257, 0, _T("Сан-Хосе")}, {156, 2425, 0, lpwszOther}, - {157, 1258, 0, TEXT("Гавана")}, + {157, 1258, 0, _T("Гавана")}, {157, 2424, 0, lpwszOther}, - {158, 1259, 0, TEXT("Акапулько")}, - {158, 1260, 0, TEXT("Мехико")}, + {158, 1259, 0, _T("Акапулько")}, + {158, 1260, 0, _T("Мехико")}, {158, 2423, 0, lpwszOther}, - {159, 1261, 0, TEXT("Манагуа")}, + {159, 1261, 0, _T("Манагуа")}, {159, 2422, 0, lpwszOther}, - {160, 1262, 0, TEXT("Панама")}, + {160, 1262, 0, _T("Панама")}, {160, 2421, 0, lpwszOther}, - {161, 1263, 0, TEXT("Асунсьон")}, + {161, 1263, 0, _T("Асунсьон")}, {161, 2420, 0, lpwszOther}, - {162, 1264, 0, TEXT("Лима")}, + {162, 1264, 0, _T("Лима")}, {162, 2419, 0, lpwszOther}, - {163, 1265, 0, TEXT("Сан-Сальвадор")}, + {163, 1265, 0, _T("Сан-Сальвадор")}, {163, 2418, 0, lpwszOther}, - {164, 1266, 0, TEXT("Кингстаун")}, + {164, 1266, 0, _T("Кингстаун")}, {164, 2417, 0, lpwszOther}, - {165, 1267, 0, TEXT("Бастер")}, + {165, 1267, 0, _T("Бастер")}, {165, 2416, 0, lpwszOther}, - {166, 1268, 0, TEXT("Кастри")}, + {166, 1268, 0, _T("Кастри")}, {166, 2415, 0, lpwszOther}, - {167, 1269, 0, TEXT("Парамарибо")}, + {167, 1269, 0, _T("Парамарибо")}, {167, 2414, 0, lpwszOther}, - {168, 1270, 0, TEXT("Порт-оф-Спейн")}, + {168, 1270, 0, _T("Порт-оф-Спейн")}, {168, 2413, 0, lpwszOther}, - {169, 1271, 0, TEXT("Монтевидео")}, + {169, 1271, 0, _T("Монтевидео")}, {169, 2412, 0, lpwszOther}, - {170, 1272, 0, TEXT("Сантьяго")}, + {170, 1272, 0, _T("Сантьяго")}, {170, 2411, 0, lpwszOther}, - {171, 1273, 0, TEXT("Гуаякиль")}, - {171, 1274, 0, TEXT("Кито")}, + {171, 1273, 0, _T("Гуаякиль")}, + {171, 1274, 0, _T("Кито")}, {171, 2410, 0, lpwszOther}, - {172, 1275, 0, TEXT("Кингстон")}, + {172, 1275, 0, _T("Кингстон")}, {172, 2409, 0, lpwszOther}, - {174, 1854, 0, TEXT("Алжир")}, + {174, 1854, 0, _T("Алжир")}, {174, 2495, 0, lpwszOther}, - {175, 1855, 0, TEXT("Луанда")}, + {175, 1855, 0, _T("Луанда")}, {175, 2494, 0, lpwszOther}, - {176, 1856, 0, TEXT("Котону")}, - {176, 1857, 0, TEXT("Порто-Ново")}, + {176, 1856, 0, _T("Котону")}, + {176, 1857, 0, _T("Порто-Ново")}, {176, 2493, 0, lpwszOther}, - {177, 1858, 0, TEXT("Габороне")}, + {177, 1858, 0, _T("Габороне")}, {177, 2492, 0, lpwszOther}, - {178, 1859, 0, TEXT("Уагадугу")}, + {178, 1859, 0, _T("Уагадугу")}, {178, 2491, 0, lpwszOther}, - {179, 1860, 0, TEXT("Бужумбуру")}, + {179, 1860, 0, _T("Бужумбуру")}, {179, 2490, 0, lpwszOther}, - {180, 1861, 0, TEXT("Либревиль")}, + {180, 1861, 0, _T("Либревиль")}, {180, 2489, 0, lpwszOther}, - {181, 1862, 0, TEXT("Банжул")}, + {181, 1862, 0, _T("Банжул")}, {181, 2488, 0, lpwszOther}, - {182, 1863, 0, TEXT("Аккра")}, + {182, 1863, 0, _T("Аккра")}, {182, 2487, 0, lpwszOther}, - {183, 1864, 0, TEXT("Конакри")}, + {183, 1864, 0, _T("Конакри")}, {183, 2486, 0, lpwszOther}, - {184, 1865, 0, TEXT("Бисау")}, + {184, 1865, 0, _T("Бисау")}, {184, 2485, 0, lpwszOther}, - {185, 1866, 0, TEXT("Джибути")}, + {185, 1866, 0, _T("Джибути")}, {185, 2484, 0, lpwszOther}, - {186, 3312, 0, TEXT("Дахаб")}, - {186, 1867, 0, TEXT("Каир")}, - {186, 1868, 0, TEXT("Хургада")}, + {186, 3312, 0, _T("Дахаб")}, + {186, 1867, 0, _T("Каир")}, + {186, 1868, 0, _T("Хургада")}, {186, 2483, 0, lpwszOther}, - {187, 1869, 0, TEXT("Лусака")}, + {187, 1869, 0, _T("Лусака")}, {187, 2482, 0, lpwszOther}, - {23, 1870, 0, TEXT("Хараре")}, + {23, 1870, 0, _T("Хараре")}, {23, 2481, 0, lpwszOther}, - {188, 1871, 0, TEXT("Прая")}, + {188, 1871, 0, _T("Прая")}, {188, 2480, 0, lpwszOther}, - {189, 1872, 0, TEXT("Яунде")}, + {189, 1872, 0, _T("Яунде")}, {189, 2479, 0, lpwszOther}, - {190, 1873, 0, TEXT("Найроби")}, + {190, 1873, 0, _T("Найроби")}, {190, 2478, 0, lpwszOther}, - {191, 1874, 0, TEXT("Морони")}, + {191, 1874, 0, _T("Морони")}, {191, 2477, 0, lpwszOther}, - {193, 1875, 0, TEXT("Киншаса")}, + {193, 1875, 0, _T("Киншаса")}, {193, 2476, 0, lpwszOther}, - {192, 1876, 0, TEXT("Браззавиль")}, + {192, 1876, 0, _T("Браззавиль")}, {192, 2475, 0, lpwszOther}, - {194, 1877, 0, TEXT("Ямусукро")}, + {194, 1877, 0, _T("Ямусукро")}, {194, 2474, 0, lpwszOther}, - {195, 1878, 0, TEXT("Масеру")}, + {195, 1878, 0, _T("Масеру")}, {195, 2473, 0, lpwszOther}, - {196, 1879, 0, TEXT("Монровия")}, + {196, 1879, 0, _T("Монровия")}, {196, 2472, 0, lpwszOther}, - {197, 1880, 0, TEXT("Триполи")}, + {197, 1880, 0, _T("Триполи")}, {197, 2471, 0, lpwszOther}, - {198, 1881, 0, TEXT("Порт-Луи")}, + {198, 1881, 0, _T("Порт-Луи")}, {198, 2470, 0, lpwszOther}, - {199, 1882, 0, TEXT("Нуакшот")}, + {199, 1882, 0, _T("Нуакшот")}, {199, 2469, 0, lpwszOther}, - {200, 1883, 0, TEXT("Антананариву")}, + {200, 1883, 0, _T("Антананариву")}, {200, 2468, 0, lpwszOther}, - {201, 1884, 0, TEXT("Лилонгве")}, + {201, 1884, 0, _T("Лилонгве")}, {201, 2467, 0, lpwszOther}, - {202, 1885, 0, TEXT("Бамако")}, + {202, 1885, 0, _T("Бамако")}, {202, 2466, 0, lpwszOther}, - {203, 1886, 0, TEXT("Агадир")}, - {203, 1887, 0, TEXT("Рабат")}, + {203, 1886, 0, _T("Агадир")}, + {203, 1887, 0, _T("Рабат")}, {203, 2465, 0, lpwszOther}, - {204, 1888, 0, TEXT("Мапуту")}, + {204, 1888, 0, _T("Мапуту")}, {204, 2464, 0, lpwszOther}, - {205, 1889, 0, TEXT("Виндхук")}, + {205, 1889, 0, _T("Виндхук")}, {205, 2463, 0, lpwszOther}, - {206, 1890, 0, TEXT("Ниамей")}, + {206, 1890, 0, _T("Ниамей")}, {206, 2462, 0, lpwszOther}, - {207, 1891, 0, TEXT("Абуджа")}, + {207, 1891, 0, _T("Абуджа")}, {207, 2461, 0, lpwszOther}, - {208, 1892, 0, TEXT("Кигали")}, + {208, 1892, 0, _T("Кигали")}, {208, 2460, 0, lpwszOther}, - {209, 1893, 0, TEXT("Сан-Томе")}, + {209, 1893, 0, _T("Сан-Томе")}, {209, 2459, 0, lpwszOther}, - {210, 1894, 0, TEXT("Мбабане")}, + {210, 1894, 0, _T("Мбабане")}, {210, 2458, 0, lpwszOther}, - {211, 1895, 0, TEXT("Виктория")}, + {211, 1895, 0, _T("Виктория")}, {211, 2457, 0, lpwszOther}, - {212, 1896, 0, TEXT("Дакар")}, + {212, 1896, 0, _T("Дакар")}, {212, 2456, 0, lpwszOther}, - {213, 1897, 0, TEXT("Могадишо")}, + {213, 1897, 0, _T("Могадишо")}, {213, 2455, 0, lpwszOther}, - {214, 1898, 0, TEXT("Хартум")}, + {214, 1898, 0, _T("Хартум")}, {214, 2454, 0, lpwszOther}, - {215, 1899, 0, TEXT("Фритаун")}, + {215, 1899, 0, _T("Фритаун")}, {215, 2453, 0, lpwszOther}, - {216, 1900, 0, TEXT("Дар-эс-Салам")}, - {216, 1901, 0, TEXT("Додома")}, + {216, 1900, 0, _T("Дар-эс-Салам")}, + {216, 1901, 0, _T("Додома")}, {216, 2452, 0, lpwszOther}, - {217, 1902, 0, TEXT("Ломе")}, + {217, 1902, 0, _T("Ломе")}, {217, 2451, 0, lpwszOther}, - {218, 1903, 0, TEXT("Тунис")}, + {218, 1903, 0, _T("Тунис")}, {218, 2450, 0, lpwszOther}, - {219, 1904, 0, TEXT("Кампала")}, + {219, 1904, 0, _T("Кампала")}, {219, 2449, 0, lpwszOther}, - {220, 1905, 0, TEXT("Банги")}, + {220, 1905, 0, _T("Банги")}, {220, 2448, 0, lpwszOther}, - {222, 1906, 0, TEXT("Нджамена")}, + {222, 1906, 0, _T("Нджамена")}, {222, 2447, 0, lpwszOther}, - {223, 1907, 0, TEXT("Малабо")}, + {223, 1907, 0, _T("Малабо")}, {223, 2446, 0, lpwszOther}, - {221, 1908, 0, TEXT("Асмэра")}, + {221, 1908, 0, _T("Асмэра")}, {221, 2445, 0, lpwszOther}, - {224, 1909, 0, TEXT("Аддис-Абеба")}, + {224, 1909, 0, _T("Аддис-Абеба")}, {224, 2444, 0, lpwszOther}, - {225, 1910, 0, TEXT("Дурбан")}, - {225, 1913, 0, TEXT("Йоханнесбург")}, - {225, 1912, 0, TEXT("Кейптаун")}, - {225, 3033, 0, TEXT("Пайнтаун")}, - {225, 1911, 0, TEXT("Претория")}, + {225, 1910, 0, _T("Дурбан")}, + {225, 1913, 0, _T("Йоханнесбург")}, + {225, 1912, 0, _T("Кейптаун")}, + {225, 3033, 0, _T("Пайнтаун")}, + {225, 1911, 0, _T("Претория")}, {225, 2443, 0, lpwszOther}, - {39, 314, 0, TEXT("Киев")}, - {39, 315, 0, TEXT("Винницкая обл.")}, - {39, 316, 0, TEXT("Волынская обл.")}, - {39, 317, 0, TEXT("Днепропетровская обл.")}, - {39, 318, 0, TEXT("Донецкая обл.")}, - {39, 319, 0, TEXT("Житомирская обл.")}, - {39, 320, 0, TEXT("Закарпатская обл.")}, - {39, 321, 0, TEXT("Запорожская обл.")}, - {39, 322, 0, TEXT("Ивано-Франковская обл.")}, - {39, 323, 0, TEXT("Киевская обл.")}, - {39, 324, 0, TEXT("Кировоградская обл.")}, - {39, 325, 0, TEXT("Крым")}, - {39, 326, 0, TEXT("Луганская обл.")}, - {39, 327, 0, TEXT("Львовская обл.")}, - {39, 328, 0, TEXT("Николаевская обл.")}, - {39, 329, 0, TEXT("Одесская обл.")}, - {39, 330, 0, TEXT("Полтавская обл.")}, - {39, 331, 0, TEXT("Ровенская обл.")}, - {39, 332, 0, TEXT("Сумская обл.")}, - {39, 333, 0, TEXT("Тернопольская обл.")}, - {39, 334, 0, TEXT("Харьковская обл.")}, - {39, 335, 0, TEXT("Херсонская обл.")}, - {39, 336, 0, TEXT("Хмельницкая обл.")}, - {39, 337, 0, TEXT("Черкасская обл.")}, - {39, 338, 0, TEXT("Черниговская обл.")}, - {39, 339, 0, TEXT("Черновицкая обл.")}, - {40, 602, 0, TEXT("Бад Халл")}, - {40, 604, 0, TEXT("Брегенц")}, - {40, 603, 0, TEXT("Вена")}, - {40, 608, 0, TEXT("Грац")}, - {40, 606, 0, TEXT("Зальцбург")}, - {40, 3099, 0, TEXT("Зель-ам-Зее")}, - {40, 605, 0, TEXT("Инсбрук")}, - {40, 3174, 0, TEXT("Кирхберг")}, - {40, 609, 0, TEXT("Клагенфурт")}, - {40, 607, 0, TEXT("Линц")}, - {40, 610, 0, TEXT("Обдах")}, - {40, 611, 0, TEXT("Щтубайтал")}, + {39, 314, 0, _T("Киев")}, + {39, 315, 0, _T("Винницкая обл.")}, + {39, 316, 0, _T("Волынская обл.")}, + {39, 317, 0, _T("Днепропетровская обл.")}, + {39, 318, 0, _T("Донецкая обл.")}, + {39, 319, 0, _T("Житомирская обл.")}, + {39, 320, 0, _T("Закарпатская обл.")}, + {39, 321, 0, _T("Запорожская обл.")}, + {39, 322, 0, _T("Ивано-Франковская обл.")}, + {39, 323, 0, _T("Киевская обл.")}, + {39, 324, 0, _T("Кировоградская обл.")}, + {39, 325, 0, _T("Крым")}, + {39, 326, 0, _T("Луганская обл.")}, + {39, 327, 0, _T("Львовская обл.")}, + {39, 328, 0, _T("Николаевская обл.")}, + {39, 329, 0, _T("Одесская обл.")}, + {39, 330, 0, _T("Полтавская обл.")}, + {39, 331, 0, _T("Ровенская обл.")}, + {39, 332, 0, _T("Сумская обл.")}, + {39, 333, 0, _T("Тернопольская обл.")}, + {39, 334, 0, _T("Харьковская обл.")}, + {39, 335, 0, _T("Херсонская обл.")}, + {39, 336, 0, _T("Хмельницкая обл.")}, + {39, 337, 0, _T("Черкасская обл.")}, + {39, 338, 0, _T("Черниговская обл.")}, + {39, 339, 0, _T("Черновицкая обл.")}, + {40, 602, 0, _T("Бад Халл")}, + {40, 604, 0, _T("Брегенц")}, + {40, 603, 0, _T("Вена")}, + {40, 608, 0, _T("Грац")}, + {40, 606, 0, _T("Зальцбург")}, + {40, 3099, 0, _T("Зель-ам-Зее")}, + {40, 605, 0, _T("Инсбрук")}, + {40, 3174, 0, _T("Кирхберг")}, + {40, 609, 0, _T("Клагенфурт")}, + {40, 607, 0, _T("Линц")}, + {40, 610, 0, _T("Обдах")}, + {40, 611, 0, _T("Щтубайтал")}, {40, 2541, 0, lpwszOther}, - {32, 612, 0, TEXT("Тирана")}, + {32, 612, 0, _T("Тирана")}, {32, 2540, 0, lpwszOther}, - {33, 613, 0, TEXT("Андорра-ла-Велья")}, + {33, 613, 0, _T("Андорра-ла-Велья")}, {33, 2539, 0, lpwszOther}, - {340, 341, 0, TEXT("Минск")}, - {340, 342, 0, TEXT("Брестская обл.")}, - {340, 343, 0, TEXT("Витебская обл.")}, - {340, 344, 0, TEXT("Гомельская обл.")}, - {340, 345, 0, TEXT("Гродненская обл.")}, - {340, 346, 0, TEXT("Минская обл.")}, - {340, 347, 0, TEXT("Могилевская обл.")}, - {38, 760, 0, TEXT("Антверпен")}, - {38, 767, 0, TEXT("Арлон")}, - {38, 762, 0, TEXT("Брюгге")}, - {38, 761, 0, TEXT("Брюссель")}, - {38, 763, 0, TEXT("Гент")}, - {38, 769, 0, TEXT("Лувен")}, - {38, 765, 0, TEXT("Льеж")}, - {38, 764, 0, TEXT("Монс")}, - {38, 3117, 0, TEXT("Мортсель")}, - {38, 766, 0, TEXT("Намюр")}, - {38, 768, 0, TEXT("Хасселт")}, + {340, 341, 0, _T("Минск")}, + {340, 342, 0, _T("Брестская обл.")}, + {340, 343, 0, _T("Витебская обл.")}, + {340, 344, 0, _T("Гомельская обл.")}, + {340, 345, 0, _T("Гродненская обл.")}, + {340, 346, 0, _T("Минская обл.")}, + {340, 347, 0, _T("Могилевская обл.")}, + {38, 760, 0, _T("Антверпен")}, + {38, 767, 0, _T("Арлон")}, + {38, 762, 0, _T("Брюгге")}, + {38, 761, 0, _T("Брюссель")}, + {38, 763, 0, _T("Гент")}, + {38, 769, 0, _T("Лувен")}, + {38, 765, 0, _T("Льеж")}, + {38, 764, 0, _T("Монс")}, + {38, 3117, 0, _T("Мортсель")}, + {38, 766, 0, _T("Намюр")}, + {38, 768, 0, _T("Хасселт")}, {38, 2532, 0, lpwszOther}, - {41, 3098, 0, TEXT("Банско")}, - {41, 792, 0, TEXT("Благоевград")}, - {41, 770, 0, TEXT("Бургас")}, - {41, 771, 0, TEXT("Бяла")}, - {41, 773, 0, TEXT("Варна")}, - {41, 776, 0, TEXT("Велико-Тырново")}, - {41, 788, 0, TEXT("Видин")}, - {41, 789, 0, TEXT("Враца")}, - {41, 796, 0, TEXT("Габрово")}, - {41, 777, 0, TEXT("Димитровград")}, - {41, 781, 0, TEXT("Каварна")}, - {41, 786, 0, TEXT("Кырджали")}, - {41, 791, 0, TEXT("Кюстендил")}, - {41, 793, 0, TEXT("Лазарджик")}, - {41, 795, 0, TEXT("Ловеч")}, - {41, 787, 0, TEXT("Михайловград")}, - {41, 790, 0, TEXT("Перник")}, - {41, 3133, 0, TEXT("Пирдоп")}, - {41, 794, 0, TEXT("Плевен")}, - {41, 782, 0, TEXT("Пловдив")}, - {41, 780, 0, TEXT("Разград")}, - {41, 779, 0, TEXT("Русе")}, - {41, 774, 0, TEXT("Силистра")}, - {41, 784, 0, TEXT("Сливен")}, - {41, 772, 0, TEXT("София")}, - {41, 775, 0, TEXT("Толбухин")}, - {41, 3116, 0, TEXT("Тырново")}, - {41, 785, 0, TEXT("Хасково")}, - {41, 778, 0, TEXT("Шумен")}, - {41, 783, 0, TEXT("Ямбол")}, + {41, 3098, 0, _T("Банско")}, + {41, 792, 0, _T("Благоевград")}, + {41, 770, 0, _T("Бургас")}, + {41, 771, 0, _T("Бяла")}, + {41, 773, 0, _T("Варна")}, + {41, 776, 0, _T("Велико-Тырново")}, + {41, 788, 0, _T("Видин")}, + {41, 789, 0, _T("Враца")}, + {41, 796, 0, _T("Габрово")}, + {41, 777, 0, _T("Димитровград")}, + {41, 781, 0, _T("Каварна")}, + {41, 786, 0, _T("Кырджали")}, + {41, 791, 0, _T("Кюстендил")}, + {41, 793, 0, _T("Лазарджик")}, + {41, 795, 0, _T("Ловеч")}, + {41, 787, 0, _T("Михайловград")}, + {41, 790, 0, _T("Перник")}, + {41, 3133, 0, _T("Пирдоп")}, + {41, 794, 0, _T("Плевен")}, + {41, 782, 0, _T("Пловдив")}, + {41, 780, 0, _T("Разград")}, + {41, 779, 0, _T("Русе")}, + {41, 774, 0, _T("Силистра")}, + {41, 784, 0, _T("Сливен")}, + {41, 772, 0, _T("София")}, + {41, 775, 0, _T("Толбухин")}, + {41, 3116, 0, _T("Тырново")}, + {41, 785, 0, _T("Хасково")}, + {41, 778, 0, _T("Шумен")}, + {41, 783, 0, _T("Ямбол")}, {41, 2531, 0, lpwszOther}, - {42, 797, 0, TEXT("Баня-Лука")}, - {42, 799, 0, TEXT("Зеница")}, - {42, 798, 0, TEXT("Сараево")}, - {42, 800, 0, TEXT("Тузла")}, + {42, 797, 0, _T("Баня-Лука")}, + {42, 799, 0, _T("Зеница")}, + {42, 798, 0, _T("Сараево")}, + {42, 800, 0, _T("Тузла")}, {42, 2530, 0, lpwszOther}, - {45, 802, 0, TEXT("Абердин")}, - {45, 3075, 0, TEXT("Айслворт")}, - {45, 801, 0, TEXT("Алнвик")}, - {45, 804, 0, TEXT("Бидефорд")}, - {45, 803, 0, TEXT("Бирмингем")}, - {45, 805, 0, TEXT("Блоксвич")}, - {45, 3168, 0, TEXT("Бостон")}, - {45, 806, 0, TEXT("Брайтон")}, - {45, 807, 0, TEXT("Бредфорд")}, - {45, 808, 0, TEXT("Бристоль")}, - {45, 809, 0, TEXT("Вилленхолл")}, - {45, 3131, 0, TEXT("Воррингтон")}, - {45, 810, 0, TEXT("Вудбридж")}, - {45, 3342, 0, TEXT("Гилфорд")}, - {45, 811, 0, TEXT("Глазго")}, - {45, 812, 0, TEXT("Дадли")}, - {45, 813, 0, TEXT("Дарем")}, - {45, 814, 0, TEXT("Дуглас")}, - {45, 3089, 0, TEXT("Кардиф")}, - {45, 815, 0, TEXT("Кембридж")}, - {45, 816, 0, TEXT("Кентербери")}, - {45, 817, 0, TEXT("Ливерпуль")}, - {45, 818, 0, TEXT("Лидс")}, - {45, 819, 0, TEXT("Лондон")}, - {45, 820, 0, TEXT("Манчестер")}, - {45, 2976, 0, TEXT("Митчем")}, - {45, 2988, 0, TEXT("Мэйденхед")}, - {45, 821, 0, TEXT("Ноттингем")}, - {45, 3088, 0, TEXT("Ньюпорт")}, - {45, 822, 0, TEXT("Оксфорд")}, - {45, 823, 0, TEXT("Плимут")}, - {45, 824, 0, TEXT("Портсмут")}, - {45, 825, 0, TEXT("Престон")}, - {45, 3343, 0, TEXT("Райд")}, - {45, 2867, 0, TEXT("Ридинг")}, - {45, 2986, 0, TEXT("Сент-Албанс")}, - {45, 826, 0, TEXT("Стаффорд")}, - {45, 3063, 0, TEXT("Стокпорт")}, - {45, 827, 0, TEXT("Уэймут")}, - {45, 3140, 0, TEXT("Челтенхэм")}, - {45, 828, 0, TEXT("Честер")}, - {45, 829, 0, TEXT("Шеффилд")}, - {45, 830, 0, TEXT("Эдинбург")}, + {45, 802, 0, _T("Абердин")}, + {45, 3075, 0, _T("Айслворт")}, + {45, 801, 0, _T("Алнвик")}, + {45, 804, 0, _T("Бидефорд")}, + {45, 803, 0, _T("Бирмингем")}, + {45, 805, 0, _T("Блоксвич")}, + {45, 3168, 0, _T("Бостон")}, + {45, 806, 0, _T("Брайтон")}, + {45, 807, 0, _T("Бредфорд")}, + {45, 808, 0, _T("Бристоль")}, + {45, 809, 0, _T("Вилленхолл")}, + {45, 3131, 0, _T("Воррингтон")}, + {45, 810, 0, _T("Вудбридж")}, + {45, 3342, 0, _T("Гилфорд")}, + {45, 811, 0, _T("Глазго")}, + {45, 812, 0, _T("Дадли")}, + {45, 813, 0, _T("Дарем")}, + {45, 814, 0, _T("Дуглас")}, + {45, 3089, 0, _T("Кардиф")}, + {45, 815, 0, _T("Кембридж")}, + {45, 816, 0, _T("Кентербери")}, + {45, 817, 0, _T("Ливерпуль")}, + {45, 818, 0, _T("Лидс")}, + {45, 819, 0, _T("Лондон")}, + {45, 820, 0, _T("Манчестер")}, + {45, 2976, 0, _T("Митчем")}, + {45, 2988, 0, _T("Мэйденхед")}, + {45, 821, 0, _T("Ноттингем")}, + {45, 3088, 0, _T("Ньюпорт")}, + {45, 822, 0, _T("Оксфорд")}, + {45, 823, 0, _T("Плимут")}, + {45, 824, 0, _T("Портсмут")}, + {45, 825, 0, _T("Престон")}, + {45, 3343, 0, _T("Райд")}, + {45, 2867, 0, _T("Ридинг")}, + {45, 2986, 0, _T("Сент-Албанс")}, + {45, 826, 0, _T("Стаффорд")}, + {45, 3063, 0, _T("Стокпорт")}, + {45, 827, 0, _T("Уэймут")}, + {45, 3140, 0, _T("Челтенхэм")}, + {45, 828, 0, _T("Честер")}, + {45, 829, 0, _T("Шеффилд")}, + {45, 830, 0, _T("Эдинбург")}, {45, 2529, 0, lpwszOther}, - {44, 831, 0, TEXT("Будапешт")}, - {44, 832, 0, TEXT("Геделле")}, - {44, 836, 0, TEXT("Дебрецен")}, - {44, 835, 0, TEXT("Мишкольц")}, - {44, 834, 0, TEXT("Сегед")}, - {44, 833, 0, TEXT("Шиофок")}, + {44, 831, 0, _T("Будапешт")}, + {44, 832, 0, _T("Геделле")}, + {44, 836, 0, _T("Дебрецен")}, + {44, 835, 0, _T("Мишкольц")}, + {44, 834, 0, _T("Сегед")}, + {44, 833, 0, _T("Шиофок")}, {44, 2528, 0, lpwszOther}, - {46, 3007, 0, TEXT("Аахен")}, - {46, 837, 0, TEXT("Аугсбург")}, - {46, 838, 0, TEXT("Баден-Баден")}, - {46, 3371, 0, TEXT("Бамберг")}, - {46, 839, 0, TEXT("Бергиш-Гладбах")}, - {46, 840, 0, TEXT("Берлин")}, - {46, 841, 0, TEXT("Билефельд")}, - {46, 3163, 0, TEXT("Бовенден")}, - {46, 842, 0, TEXT("Бонн")}, - {46, 843, 0, TEXT("Браденбург")}, - {46, 3015, 0, TEXT("Брауншвейг")}, - {46, 844, 0, TEXT("Бремен")}, - {46, 2921, 0, TEXT("Варштайн")}, - {46, 845, 0, TEXT("Веймар")}, - {46, 846, 0, TEXT("Вупперталь")}, - {46, 847, 0, TEXT("Гамбург")}, - {46, 848, 0, TEXT("Ганновер")}, - {46, 849, 0, TEXT("Гарделеген")}, - {46, 3010, 0, TEXT("Гейдельберг")}, - {46, 850, 0, TEXT("Гота")}, - {46, 851, 0, TEXT("Дармштадт")}, - {46, 3072, 0, TEXT("Дессау")}, - {46, 852, 0, TEXT("Детмольд")}, - {46, 853, 0, TEXT("Дортмунд")}, - {46, 854, 0, TEXT("Дрезден")}, - {46, 855, 0, TEXT("Дюссельдорф")}, - {46, 3082, 0, TEXT("Иффецхайм")}, - {46, 3309, 0, TEXT("Кассел")}, - {46, 856, 0, TEXT("Кельн")}, - {46, 857, 0, TEXT("Киль")}, - {46, 3138, 0, TEXT("Кобленц")}, - {46, 858, 0, TEXT("Крефельд")}, - {46, 859, 0, TEXT("Лейпциг")}, - {46, 2872, 0, TEXT("Лимбург")}, - {46, 2965, 0, TEXT("Линген")}, - {46, 3135, 0, TEXT("Любек")}, - {46, 3156, 0, TEXT("Мангейм")}, - {46, 3192, 0, TEXT("Меерсбург")}, - {46, 860, 0, TEXT("Мюнстер")}, - {46, 861, 0, TEXT("Мюнхен")}, - {46, 2864, 0, TEXT("Нойштадт")}, - {46, 862, 0, TEXT("Нюрнберг")}, - {46, 3009, 0, TEXT("Оффенбург")}, - {46, 2993, 0, TEXT("Падерборн")}, - {46, 863, 0, TEXT("Равенсбург")}, - {46, 864, 0, TEXT("Регенсбург")}, - {46, 865, 0, TEXT("Рейнен")}, - {46, 866, 0, TEXT("Росток")}, - {46, 3191, 0, TEXT("Саарбрюкен")}, - {46, 2974, 0, TEXT("Санкт-Августин")}, - {46, 3127, 0, TEXT("Тюринген")}, - {46, 867, 0, TEXT("Фрайберг")}, - {46, 868, 0, TEXT("Фрайбург")}, - {46, 869, 0, TEXT("Франкфурт-на-Майне")}, - {46, 3373, 0, TEXT("Хемнитц")}, - {46, 3313, 0, TEXT("Хильден")}, - {46, 870, 0, TEXT("Штутгарт")}, - {46, 3045, 0, TEXT("Эрланген")}, - {46, 2906, 0, TEXT("Эшборн")}, + {46, 3007, 0, _T("Аахен")}, + {46, 837, 0, _T("Аугсбург")}, + {46, 838, 0, _T("Баден-Баден")}, + {46, 3371, 0, _T("Бамберг")}, + {46, 839, 0, _T("Бергиш-Гладбах")}, + {46, 840, 0, _T("Берлин")}, + {46, 841, 0, _T("Билефельд")}, + {46, 3163, 0, _T("Бовенден")}, + {46, 842, 0, _T("Бонн")}, + {46, 843, 0, _T("Браденбург")}, + {46, 3015, 0, _T("Брауншвейг")}, + {46, 844, 0, _T("Бремен")}, + {46, 2921, 0, _T("Варштайн")}, + {46, 845, 0, _T("Веймар")}, + {46, 846, 0, _T("Вупперталь")}, + {46, 847, 0, _T("Гамбург")}, + {46, 848, 0, _T("Ганновер")}, + {46, 849, 0, _T("Гарделеген")}, + {46, 3010, 0, _T("Гейдельберг")}, + {46, 850, 0, _T("Гота")}, + {46, 851, 0, _T("Дармштадт")}, + {46, 3072, 0, _T("Дессау")}, + {46, 852, 0, _T("Детмольд")}, + {46, 853, 0, _T("Дортмунд")}, + {46, 854, 0, _T("Дрезден")}, + {46, 855, 0, _T("Дюссельдорф")}, + {46, 3082, 0, _T("Иффецхайм")}, + {46, 3309, 0, _T("Кассел")}, + {46, 856, 0, _T("Кельн")}, + {46, 857, 0, _T("Киль")}, + {46, 3138, 0, _T("Кобленц")}, + {46, 858, 0, _T("Крефельд")}, + {46, 859, 0, _T("Лейпциг")}, + {46, 2872, 0, _T("Лимбург")}, + {46, 2965, 0, _T("Линген")}, + {46, 3135, 0, _T("Любек")}, + {46, 3156, 0, _T("Мангейм")}, + {46, 3192, 0, _T("Меерсбург")}, + {46, 860, 0, _T("Мюнстер")}, + {46, 861, 0, _T("Мюнхен")}, + {46, 2864, 0, _T("Нойштадт")}, + {46, 862, 0, _T("Нюрнберг")}, + {46, 3009, 0, _T("Оффенбург")}, + {46, 2993, 0, _T("Падерборн")}, + {46, 863, 0, _T("Равенсбург")}, + {46, 864, 0, _T("Регенсбург")}, + {46, 865, 0, _T("Рейнен")}, + {46, 866, 0, _T("Росток")}, + {46, 3191, 0, _T("Саарбрюкен")}, + {46, 2974, 0, _T("Санкт-Августин")}, + {46, 3127, 0, _T("Тюринген")}, + {46, 867, 0, _T("Фрайберг")}, + {46, 868, 0, _T("Фрайбург")}, + {46, 869, 0, _T("Франкфурт-на-Майне")}, + {46, 3373, 0, _T("Хемнитц")}, + {46, 3313, 0, _T("Хильден")}, + {46, 870, 0, _T("Штутгарт")}, + {46, 3045, 0, _T("Эрланген")}, + {46, 2906, 0, _T("Эшборн")}, {46, 2527, 0, lpwszOther}, - {48, 871, 0, TEXT("Афины")}, - {48, 873, 0, TEXT("Ираклион")}, - {48, 3147, 0, TEXT("Корфу")}, - {48, 872, 0, TEXT("Салоники")}, - {48, 3178, 0, TEXT("Халкидики")}, + {48, 871, 0, _T("Афины")}, + {48, 873, 0, _T("Ираклион")}, + {48, 3147, 0, _T("Корфу")}, + {48, 872, 0, _T("Салоники")}, + {48, 3178, 0, _T("Халкидики")}, {48, 2526, 0, lpwszOther}, - {49, 3006, 0, TEXT("Архус")}, - {49, 874, 0, TEXT("Копенгаген")}, - {49, 875, 0, TEXT("Оденсе")}, - {49, 3285, 0, TEXT("Ольборг")}, - {49, 876, 0, TEXT("Сванеке")}, - {49, 3126, 0, TEXT("Скиве")}, + {49, 3006, 0, _T("Архус")}, + {49, 874, 0, _T("Копенгаген")}, + {49, 875, 0, _T("Оденсе")}, + {49, 3285, 0, _T("Ольборг")}, + {49, 876, 0, _T("Сванеке")}, + {49, 3126, 0, _T("Скиве")}, {49, 2525, 0, lpwszOther}, - {50, 3377, 0, TEXT("Виклоу")}, - {50, 3067, 0, TEXT("Голвей")}, - {50, 877, 0, TEXT("Дублин")}, - {50, 3065, 0, TEXT("Килларней")}, - {50, 3066, 0, TEXT("Корк")}, - {50, 878, 0, TEXT("Лимерик")}, - {50, 3069, 0, TEXT("Нейс")}, - {50, 3068, 0, TEXT("Типперэри")}, + {50, 3377, 0, _T("Виклоу")}, + {50, 3067, 0, _T("Голвей")}, + {50, 877, 0, _T("Дублин")}, + {50, 3065, 0, _T("Килларней")}, + {50, 3066, 0, _T("Корк")}, + {50, 878, 0, _T("Лимерик")}, + {50, 3069, 0, _T("Нейс")}, + {50, 3068, 0, _T("Типперэри")}, {50, 2524, 0, lpwszOther}, - {51, 879, 0, TEXT("Рейкьявик")}, + {51, 879, 0, _T("Рейкьявик")}, {51, 2523, 0, lpwszOther}, - {34, 880, 0, TEXT("Аликанте")}, - {34, 3125, 0, TEXT("Альмерия")}, - {34, 881, 0, TEXT("Барселона")}, - {34, 890, 0, TEXT("Бильбао")}, - {34, 3076, 0, TEXT("Бланес")}, - {34, 882, 0, TEXT("Валенсия")}, - {34, 3070, 0, TEXT("Ибица")}, - {34, 888, 0, TEXT("Кадис")}, - {34, 886, 0, TEXT("Картахена")}, - {34, 891, 0, TEXT("Ла-Корунья")}, - {34, 3310, 0, TEXT("Лорет де Мар")}, - {34, 883, 0, TEXT("Мадрид")}, - {34, 884, 0, TEXT("Малага")}, - {34, 885, 0, TEXT("Марбелья")}, - {34, 892, 0, TEXT("Овьедо")}, - {34, 3179, 0, TEXT("Пальма де Майорка")}, - {34, 3177, 0, TEXT("Сан-Агустин")}, - {34, 3289, 0, TEXT("Санта-Крус-де-Тенерифе")}, - {34, 889, 0, TEXT("Сарагоса")}, - {34, 887, 0, TEXT("Севилья")}, - {34, 893, 0, TEXT("Хихон")}, + {34, 880, 0, _T("Аликанте")}, + {34, 3125, 0, _T("Альмерия")}, + {34, 881, 0, _T("Барселона")}, + {34, 890, 0, _T("Бильбао")}, + {34, 3076, 0, _T("Бланес")}, + {34, 882, 0, _T("Валенсия")}, + {34, 3070, 0, _T("Ибица")}, + {34, 888, 0, _T("Кадис")}, + {34, 886, 0, _T("Картахена")}, + {34, 891, 0, _T("Ла-Корунья")}, + {34, 3310, 0, _T("Лорет де Мар")}, + {34, 883, 0, _T("Мадрид")}, + {34, 884, 0, _T("Малага")}, + {34, 885, 0, _T("Марбелья")}, + {34, 892, 0, _T("Овьедо")}, + {34, 3179, 0, _T("Пальма де Майорка")}, + {34, 3177, 0, _T("Сан-Агустин")}, + {34, 3289, 0, _T("Санта-Крус-де-Тенерифе")}, + {34, 889, 0, _T("Сарагоса")}, + {34, 887, 0, _T("Севилья")}, + {34, 893, 0, _T("Хихон")}, {34, 2522, 0, lpwszOther}, - {52, 3318, 0, TEXT("Аоста")}, - {52, 3278, 0, TEXT("Беллариа")}, - {52, 906, 0, TEXT("Болонья")}, - {52, 894, 0, TEXT("Брешиа")}, - {52, 895, 0, TEXT("Венеция")}, - {52, 905, 0, TEXT("Верона")}, - {52, 896, 0, TEXT("Генуя")}, - {52, 897, 0, TEXT("Лекко")}, - {52, 3369, 0, TEXT("Ливорно")}, - {52, 3327, 0, TEXT("Марсала")}, - {52, 898, 0, TEXT("Милан")}, - {52, 899, 0, TEXT("Модена")}, - {52, 907, 0, TEXT("Неаполь")}, - {52, 908, 0, TEXT("Перуджа")}, - {52, 900, 0, TEXT("Пиза")}, - {52, 901, 0, TEXT("Рим")}, - {52, 3368, 0, TEXT("Сан-Ремо")}, - {52, 3384, 0, TEXT("Сиракуза")}, - {52, 3252, 0, TEXT("Терамо")}, - {52, 902, 0, TEXT("Триест")}, - {52, 903, 0, TEXT("Турин")}, - {52, 3130, 0, TEXT("Фано")}, - {52, 904, 0, TEXT("Флоренция")}, + {52, 3318, 0, _T("Аоста")}, + {52, 3278, 0, _T("Беллариа")}, + {52, 906, 0, _T("Болонья")}, + {52, 894, 0, _T("Брешиа")}, + {52, 895, 0, _T("Венеция")}, + {52, 905, 0, _T("Верона")}, + {52, 896, 0, _T("Генуя")}, + {52, 897, 0, _T("Лекко")}, + {52, 3369, 0, _T("Ливорно")}, + {52, 3327, 0, _T("Марсала")}, + {52, 898, 0, _T("Милан")}, + {52, 899, 0, _T("Модена")}, + {52, 907, 0, _T("Неаполь")}, + {52, 908, 0, _T("Перуджа")}, + {52, 900, 0, _T("Пиза")}, + {52, 901, 0, _T("Рим")}, + {52, 3368, 0, _T("Сан-Ремо")}, + {52, 3384, 0, _T("Сиракуза")}, + {52, 3252, 0, _T("Терамо")}, + {52, 902, 0, _T("Триест")}, + {52, 903, 0, _T("Турин")}, + {52, 3130, 0, _T("Фано")}, + {52, 904, 0, _T("Флоренция")}, {52, 2521, 0, lpwszOther}, - {53, 2939, 0, TEXT("Айзкраукле")}, - {53, 3054, 0, TEXT("Валка")}, - {53, 909, 0, TEXT("Даугавпилс")}, - {53, 2934, 0, TEXT("Екабпилс")}, - {53, 913, 0, TEXT("Елгава")}, - {53, 2935, 0, TEXT("Кокнесе")}, - {53, 912, 0, TEXT("Лиепая")}, - {53, 2905, 0, TEXT("Резекне")}, - {53, 911, 0, TEXT("Рига")}, - {53, 2936, 0, TEXT("Саласпилс")}, - {53, 2937, 0, TEXT("Смилтене")}, - {53, 910, 0, TEXT("Юрмала")}, + {53, 2939, 0, _T("Айзкраукле")}, + {53, 3054, 0, _T("Валка")}, + {53, 909, 0, _T("Даугавпилс")}, + {53, 2934, 0, _T("Екабпилс")}, + {53, 913, 0, _T("Елгава")}, + {53, 2935, 0, _T("Кокнесе")}, + {53, 912, 0, _T("Лиепая")}, + {53, 2905, 0, _T("Резекне")}, + {53, 911, 0, _T("Рига")}, + {53, 2936, 0, _T("Саласпилс")}, + {53, 2937, 0, _T("Смилтене")}, + {53, 910, 0, _T("Юрмала")}, {53, 2520, 0, lpwszOther}, - {54, 914, 0, TEXT("Вильнюс")}, - {54, 915, 0, TEXT("Висагинас")}, - {54, 916, 0, TEXT("Каунас")}, - {54, 918, 0, TEXT("Клайпеда")}, - {54, 919, 0, TEXT("Паланга")}, - {54, 3173, 0, TEXT("Пеневежис")}, - {54, 917, 0, TEXT("Шауляй")}, + {54, 914, 0, _T("Вильнюс")}, + {54, 915, 0, _T("Висагинас")}, + {54, 916, 0, _T("Каунас")}, + {54, 918, 0, _T("Клайпеда")}, + {54, 919, 0, _T("Паланга")}, + {54, 3173, 0, _T("Пеневежис")}, + {54, 917, 0, _T("Шауляй")}, {54, 2519, 0, lpwszOther}, - {55, 920, 0, TEXT("Вадуц")}, + {55, 920, 0, _T("Вадуц")}, {55, 2518, 0, lpwszOther}, - {56, 3376, 0, TEXT("Бетцдорф")}, - {56, 921, 0, TEXT("Люксембург")}, + {56, 3376, 0, _T("Бетцдорф")}, + {56, 921, 0, _T("Люксембург")}, {56, 2517, 0, lpwszOther}, - {57, 3142, 0, TEXT("Битола")}, - {57, 922, 0, TEXT("Скопье")}, + {57, 3142, 0, _T("Битола")}, + {57, 922, 0, _T("Скопье")}, {57, 2516, 0, lpwszOther}, - {58, 923, 0, TEXT("Валлетта")}, - {58, 3154, 0, TEXT("Мзида")}, - {58, 924, 0, TEXT("Слима")}, + {58, 923, 0, _T("Валлетта")}, + {58, 3154, 0, _T("Мзида")}, + {58, 924, 0, _T("Слима")}, {58, 2515, 0, lpwszOther}, - {59, 925, 0, TEXT("Бельцы")}, - {59, 926, 0, TEXT("Бендеры")}, - {59, 3234, 0, TEXT("Дубоссары")}, - {59, 3275, 0, TEXT("Кахул")}, - {59, 927, 0, TEXT("Кишинев")}, - {59, 3321, 0, TEXT("Резина")}, - {59, 928, 0, TEXT("Рыбница")}, - {59, 929, 0, TEXT("Тирасполь")}, - {59, 3281, 0, TEXT("Чадыр-Лунга")}, + {59, 925, 0, _T("Бельцы")}, + {59, 926, 0, _T("Бендеры")}, + {59, 3234, 0, _T("Дубоссары")}, + {59, 3275, 0, _T("Кахул")}, + {59, 927, 0, _T("Кишинев")}, + {59, 3321, 0, _T("Резина")}, + {59, 928, 0, _T("Рыбница")}, + {59, 929, 0, _T("Тирасполь")}, + {59, 3281, 0, _T("Чадыр-Лунга")}, {59, 2514, 0, lpwszOther}, - {36, 930, 0, TEXT("Монте-Карло")}, + {36, 930, 0, _T("Монте-Карло")}, {36, 2513, 0, lpwszOther}, - {60, 931, 0, TEXT("Амстердам")}, - {60, 933, 0, TEXT("Бреда")}, - {60, 932, 0, TEXT("Гаага")}, - {60, 934, 0, TEXT("Гауда")}, - {60, 935, 0, TEXT("Делфт")}, - {60, 2977, 0, TEXT("Донген")}, - {60, 3030, 0, TEXT("Зволле")}, - {60, 3091, 0, TEXT("Ниймеген")}, - {60, 936, 0, TEXT("Роттердам")}, - {60, 937, 0, TEXT("Утрехт")}, - {60, 3044, 0, TEXT("Эйндховен")}, - {60, 3380, 0, TEXT("Эншеде")}, + {60, 931, 0, _T("Амстердам")}, + {60, 933, 0, _T("Бреда")}, + {60, 932, 0, _T("Гаага")}, + {60, 934, 0, _T("Гауда")}, + {60, 935, 0, _T("Делфт")}, + {60, 2977, 0, _T("Донген")}, + {60, 3030, 0, _T("Зволле")}, + {60, 3091, 0, _T("Ниймеген")}, + {60, 936, 0, _T("Роттердам")}, + {60, 937, 0, _T("Утрехт")}, + {60, 3044, 0, _T("Эйндховен")}, + {60, 3380, 0, _T("Эншеде")}, {60, 2512, 0, lpwszOther}, - {61, 3190, 0, TEXT("Кристиансанд")}, - {61, 2857, 0, TEXT("Лиллехаммер")}, - {61, 938, 0, TEXT("Осло")}, - {61, 3355, 0, TEXT("Ставангер")}, - {61, 939, 0, TEXT("Тронхейм")}, + {61, 3190, 0, _T("Кристиансанд")}, + {61, 2857, 0, _T("Лиллехаммер")}, + {61, 938, 0, _T("Осло")}, + {61, 3355, 0, _T("Ставангер")}, + {61, 939, 0, _T("Тронхейм")}, {61, 2511, 0, lpwszOther}, - {62, 940, 0, TEXT("Белосток")}, - {62, 941, 0, TEXT("Варшава")}, - {62, 3164, 0, TEXT("Вроцлав")}, - {62, 942, 0, TEXT("Гданьск")}, - {62, 943, 0, TEXT("Гливице")}, - {62, 3237, 0, TEXT("Закопане")}, - {62, 3165, 0, TEXT("Зелена Гура")}, - {62, 944, 0, TEXT("Катовице")}, - {62, 945, 0, TEXT("Краков")}, - {62, 3008, 0, TEXT("Лодзь")}, - {62, 3150, 0, TEXT("Ольштын")}, - {62, 946, 0, TEXT("Познань")}, - {62, 947, 0, TEXT("Радом")}, - {62, 948, 0, TEXT("Сопот")}, - {62, 2958, 0, TEXT("Тыхы")}, + {62, 940, 0, _T("Белосток")}, + {62, 941, 0, _T("Варшава")}, + {62, 3164, 0, _T("Вроцлав")}, + {62, 942, 0, _T("Гданьск")}, + {62, 943, 0, _T("Гливице")}, + {62, 3237, 0, _T("Закопане")}, + {62, 3165, 0, _T("Зелена Гура")}, + {62, 944, 0, _T("Катовице")}, + {62, 945, 0, _T("Краков")}, + {62, 3008, 0, _T("Лодзь")}, + {62, 3150, 0, _T("Ольштын")}, + {62, 946, 0, _T("Познань")}, + {62, 947, 0, _T("Радом")}, + {62, 948, 0, _T("Сопот")}, + {62, 2958, 0, _T("Тыхы")}, {62, 2510, 0, lpwszOther}, - {35, 949, 0, TEXT("Лиссабон")}, - {35, 950, 0, TEXT("Порто")}, + {35, 949, 0, _T("Лиссабон")}, + {35, 950, 0, _T("Порто")}, {35, 2509, 0, lpwszOther}, - {63, 952, 0, TEXT("Брашов")}, - {63, 951, 0, TEXT("Бухарест")}, - {63, 954, 0, TEXT("Констанца")}, - {63, 955, 0, TEXT("Плоешти")}, - {63, 953, 0, TEXT("Яссы")}, + {63, 952, 0, _T("Брашов")}, + {63, 951, 0, _T("Бухарест")}, + {63, 954, 0, _T("Констанца")}, + {63, 955, 0, _T("Плоешти")}, + {63, 953, 0, _T("Яссы")}, {63, 2508, 0, lpwszOther}, - {64, 956, 0, TEXT("Сан-Марино")}, + {64, 956, 0, _T("Сан-Марино")}, {64, 2507, 0, lpwszOther}, - {74, 957, 0, TEXT("Белград")}, - {74, 960, 0, TEXT("Ниш")}, - {74, 958, 0, TEXT("Нови-Сад")}, - {74, 959, 0, TEXT("Сараево")}, + {74, 957, 0, _T("Белград")}, + {74, 960, 0, _T("Ниш")}, + {74, 958, 0, _T("Нови-Сад")}, + {74, 959, 0, _T("Сараево")}, {74, 2506, 0, lpwszOther}, - {65, 961, 0, TEXT("Братислава")}, - {65, 962, 0, TEXT("Кошице")}, - {65, 3101, 0, TEXT("Липтов")}, - {65, 963, 0, TEXT("Попрад")}, - {65, 964, 0, TEXT("Прешов")}, - {65, 965, 0, TEXT("Ружемберок")}, - {65, 966, 0, TEXT("Тврдошин")}, + {65, 961, 0, _T("Братислава")}, + {65, 962, 0, _T("Кошице")}, + {65, 3101, 0, _T("Липтов")}, + {65, 963, 0, _T("Попрад")}, + {65, 964, 0, _T("Прешов")}, + {65, 965, 0, _T("Ружемберок")}, + {65, 966, 0, _T("Тврдошин")}, {65, 2505, 0, lpwszOther}, - {66, 968, 0, TEXT("Копар")}, - {66, 967, 0, TEXT("Любляна")}, - {66, 969, 0, TEXT("Марибор")}, + {66, 968, 0, _T("Копар")}, + {66, 967, 0, _T("Любляна")}, + {66, 969, 0, _T("Марибор")}, {66, 2504, 0, lpwszOther}, - {67, 970, 0, TEXT("Торсхавн")}, + {67, 970, 0, _T("Торсхавн")}, {67, 2503, 0, lpwszOther}, - {68, 2888, 0, TEXT("Вантаа")}, - {68, 971, 0, TEXT("Васа")}, - {68, 979, 0, TEXT("Котка")}, - {68, 972, 0, TEXT("Коувола")}, - {68, 980, 0, TEXT("Лахти")}, - {68, 973, 0, TEXT("Оулу")}, - {68, 3375, 0, TEXT("Риихимяки")}, - {68, 3159, 0, TEXT("Руовеси")}, - {68, 974, 0, TEXT("Тампере")}, - {68, 975, 0, TEXT("Турку")}, - {68, 976, 0, TEXT("Хельсинки")}, - {68, 977, 0, TEXT("Эспо")}, - {68, 978, 0, TEXT("Ювяскюля")}, + {68, 2888, 0, _T("Вантаа")}, + {68, 971, 0, _T("Васа")}, + {68, 979, 0, _T("Котка")}, + {68, 972, 0, _T("Коувола")}, + {68, 980, 0, _T("Лахти")}, + {68, 973, 0, _T("Оулу")}, + {68, 3375, 0, _T("Риихимяки")}, + {68, 3159, 0, _T("Руовеси")}, + {68, 974, 0, _T("Тампере")}, + {68, 975, 0, _T("Турку")}, + {68, 976, 0, _T("Хельсинки")}, + {68, 977, 0, _T("Эспо")}, + {68, 978, 0, _T("Ювяскюля")}, {68, 2502, 0, lpwszOther}, - {37, 996, 0, TEXT("Авиньон")}, - {37, 983, 0, TEXT("Бержерак")}, - {37, 997, 0, TEXT("Блуа")}, - {37, 984, 0, TEXT("Бордо")}, - {37, 998, 0, TEXT("Дижон")}, - {37, 987, 0, TEXT("Канн")}, - {37, 988, 0, TEXT("Кастр")}, - {37, 993, 0, TEXT("Клермон-Ферран")}, - {37, 3037, 0, TEXT("Лилль")}, - {37, 989, 0, TEXT("Лион")}, - {37, 985, 0, TEXT("Марсель")}, - {37, 991, 0, TEXT("Мец")}, - {37, 3161, 0, TEXT("Мобеж")}, - {37, 990, 0, TEXT("Нанси")}, - {37, 994, 0, TEXT("Нант")}, - {37, 995, 0, TEXT("Ницца")}, - {37, 999, 0, TEXT("Орлеан")}, - {37, 981, 0, TEXT("Париж")}, - {37, 3374, 0, TEXT("Перпиньян")}, - {37, 992, 0, TEXT("Руан")}, - {37, 982, 0, TEXT("Страсбург")}, - {37, 986, 0, TEXT("Тулуза")}, - {37, 3314, 0, TEXT("Шамбери")}, + {37, 996, 0, _T("Авиньон")}, + {37, 983, 0, _T("Бержерак")}, + {37, 997, 0, _T("Блуа")}, + {37, 984, 0, _T("Бордо")}, + {37, 998, 0, _T("Дижон")}, + {37, 987, 0, _T("Канн")}, + {37, 988, 0, _T("Кастр")}, + {37, 993, 0, _T("Клермон-Ферран")}, + {37, 3037, 0, _T("Лилль")}, + {37, 989, 0, _T("Лион")}, + {37, 985, 0, _T("Марсель")}, + {37, 991, 0, _T("Мец")}, + {37, 3161, 0, _T("Мобеж")}, + {37, 990, 0, _T("Нанси")}, + {37, 994, 0, _T("Нант")}, + {37, 995, 0, _T("Ницца")}, + {37, 999, 0, _T("Орлеан")}, + {37, 981, 0, _T("Париж")}, + {37, 3374, 0, _T("Перпиньян")}, + {37, 992, 0, _T("Руан")}, + {37, 982, 0, _T("Страсбург")}, + {37, 986, 0, _T("Тулуза")}, + {37, 3314, 0, _T("Шамбери")}, {37, 2501, 0, lpwszOther}, - {69, 1003, 0, TEXT("Дубровник")}, - {69, 1000, 0, TEXT("Загреб")}, - {69, 1001, 0, TEXT("Задар")}, - {69, 1004, 0, TEXT("Риека")}, - {69, 1002, 0, TEXT("Сплит")}, + {69, 1003, 0, _T("Дубровник")}, + {69, 1000, 0, _T("Загреб")}, + {69, 1001, 0, _T("Задар")}, + {69, 1004, 0, _T("Риека")}, + {69, 1002, 0, _T("Сплит")}, {69, 2500, 0, lpwszOther}, - {70, 1005, 0, TEXT("Брно")}, - {70, 3291, 0, TEXT("Гавличкув-Брод")}, - {70, 1007, 0, TEXT("Градец-Кралове")}, - {70, 1008, 0, TEXT("Карлови-Вари")}, - {70, 3019, 0, TEXT("Кладрубы")}, - {70, 1010, 0, TEXT("Лоуни")}, - {70, 1009, 0, TEXT("Острава")}, - {70, 1015, 0, TEXT("Пльзень")}, - {70, 3105, 0, TEXT("Правчицка Брана")}, - {70, 1006, 0, TEXT("Прага")}, - {70, 3246, 0, TEXT("Тачов")}, - {70, 1011, 0, TEXT("Тршебич")}, - {70, 1012, 0, TEXT("Усти-над-Лабем")}, - {70, 1014, 0, TEXT("Ческе-Будеевице")}, - {70, 1013, 0, TEXT("Яблонец-над-Нисоу")}, + {70, 1005, 0, _T("Брно")}, + {70, 3291, 0, _T("Гавличкув-Брод")}, + {70, 1007, 0, _T("Градец-Кралове")}, + {70, 1008, 0, _T("Карлови-Вари")}, + {70, 3019, 0, _T("Кладрубы")}, + {70, 1010, 0, _T("Лоуни")}, + {70, 1009, 0, _T("Острава")}, + {70, 1015, 0, _T("Пльзень")}, + {70, 3105, 0, _T("Правчицка Брана")}, + {70, 1006, 0, _T("Прага")}, + {70, 3246, 0, _T("Тачов")}, + {70, 1011, 0, _T("Тршебич")}, + {70, 1012, 0, _T("Усти-над-Лабем")}, + {70, 1014, 0, _T("Ческе-Будеевице")}, + {70, 1013, 0, _T("Яблонец-над-Нисоу")}, {70, 2499, 0, lpwszOther}, - {71, 1016, 0, TEXT("Арау")}, - {71, 1019, 0, TEXT("Баден")}, - {71, 1017, 0, TEXT("Базель")}, - {71, 1018, 0, TEXT("Берн")}, - {71, 1020, 0, TEXT("Биль")}, - {71, 1021, 0, TEXT("Винтертур")}, - {71, 1022, 0, TEXT("Давос")}, - {71, 3189, 0, TEXT("Делемонт")}, - {71, 1023, 0, TEXT("Женева")}, - {71, 1024, 0, TEXT("Золотурн")}, - {71, 1025, 0, TEXT("Лозанна")}, - {71, 1026, 0, TEXT("Локарно")}, - {71, 1027, 0, TEXT("Лугано")}, - {71, 1028, 0, TEXT("Люцерн")}, - {71, 1029, 0, TEXT("Монтре")}, - {71, 1030, 0, TEXT("Цюрих")}, + {71, 1016, 0, _T("Арау")}, + {71, 1019, 0, _T("Баден")}, + {71, 1017, 0, _T("Базель")}, + {71, 1018, 0, _T("Берн")}, + {71, 1020, 0, _T("Биль")}, + {71, 1021, 0, _T("Винтертур")}, + {71, 1022, 0, _T("Давос")}, + {71, 3189, 0, _T("Делемонт")}, + {71, 1023, 0, _T("Женева")}, + {71, 1024, 0, _T("Золотурн")}, + {71, 1025, 0, _T("Лозанна")}, + {71, 1026, 0, _T("Локарно")}, + {71, 1027, 0, _T("Лугано")}, + {71, 1028, 0, _T("Люцерн")}, + {71, 1029, 0, _T("Монтре")}, + {71, 1030, 0, _T("Цюрих")}, {71, 2498, 0, lpwszOther}, - {72, 2883, 0, TEXT("Арбога")}, - {72, 1031, 0, TEXT("Гетеборг")}, - {72, 1032, 0, TEXT("Кальмар")}, - {72, 1037, 0, TEXT("Лахольм")}, - {72, 1036, 0, TEXT("Лулео")}, - {72, 1042, 0, TEXT("Лунд")}, - {72, 1033, 0, TEXT("Мальме")}, - {72, 1034, 0, TEXT("Стокгольм")}, - {72, 1041, 0, TEXT("Умео")}, - {72, 1039, 0, TEXT("Фалун")}, - {72, 1043, 0, TEXT("Хельсинборг")}, - {72, 1040, 0, TEXT("Хернесанд")}, - {72, 1038, 0, TEXT("Эстерсунд")}, + {72, 2883, 0, _T("Арбога")}, + {72, 1031, 0, _T("Гетеборг")}, + {72, 1032, 0, _T("Кальмар")}, + {72, 1037, 0, _T("Лахольм")}, + {72, 1036, 0, _T("Лулео")}, + {72, 1042, 0, _T("Лунд")}, + {72, 1033, 0, _T("Мальме")}, + {72, 1034, 0, _T("Стокгольм")}, + {72, 1041, 0, _T("Умео")}, + {72, 1039, 0, _T("Фалун")}, + {72, 1043, 0, _T("Хельсинборг")}, + {72, 1040, 0, _T("Хернесанд")}, + {72, 1038, 0, _T("Эстерсунд")}, {72, 2497, 0, lpwszOther}, - {73, 3013, 0, TEXT("Валга")}, - {73, 1044, 0, TEXT("Кейла")}, - {73, 1045, 0, TEXT("Кохтла-Ярве")}, - {73, 1046, 0, TEXT("Маарду")}, - {73, 1047, 0, TEXT("Мыйзакюла")}, - {73, 1048, 0, TEXT("Нарва")}, - {73, 1049, 0, TEXT("Пярну")}, - {73, 1050, 0, TEXT("Раквере")}, - {73, 1051, 0, TEXT("Силламяэ")}, - {73, 1052, 0, TEXT("Таллин")}, - {73, 1053, 0, TEXT("Тарту")}, - {73, 1054, 0, TEXT("Хаапсалу")}, + {73, 3013, 0, _T("Валга")}, + {73, 1044, 0, _T("Кейла")}, + {73, 1045, 0, _T("Кохтла-Ярве")}, + {73, 1046, 0, _T("Маарду")}, + {73, 1047, 0, _T("Мыйзакюла")}, + {73, 1048, 0, _T("Нарва")}, + {73, 1049, 0, _T("Пярну")}, + {73, 1050, 0, _T("Раквере")}, + {73, 1051, 0, _T("Силламяэ")}, + {73, 1052, 0, _T("Таллин")}, + {73, 1053, 0, _T("Тарту")}, + {73, 1054, 0, _T("Хаапсалу")}, {0, 0, 0, NULL} };//*/ /* static const MRA_COUNTRY mracCountrys[] = { - {24, TEXT("Россия")}, - {81, TEXT("Азербайджан")}, - {82, TEXT("Армения")}, - {97, TEXT("Афганистан")}, - {96, TEXT("Бангладеш")}, - {99, TEXT("Бахрейн")}, - {100, TEXT("Бруней-Даруссалам")}, - {101, TEXT("Бутан")}, - {102, TEXT("Вьетнам")}, - {83, TEXT("Грузия")}, - {86, TEXT("Израиль")}, - {95, TEXT("Индия")}, - {103, TEXT("Индонезия")}, - {79, TEXT("Иордания")}, - {85, TEXT("Ирак")}, - {87, TEXT("Иран")}, - {104, TEXT("Йемен")}, - {84, TEXT("Казахстан")}, - {105, TEXT("Камбоджа")}, - {106, TEXT("Катар")}, - {107, TEXT("Кипр")}, - {92, TEXT("Киргизия (Кыргызстан)")}, - {76, TEXT("Китай")}, - {3215, TEXT("Кокосовые острова (Австр.)")}, - {29, TEXT("Корея (КНДР)")}, - {108, TEXT("Корея")}, - {88, TEXT("Кувейт")}, - {109, TEXT("Лаос")}, - {110, TEXT("Ливан")}, - {111, TEXT("Малайзия")}, - {112, TEXT("Мальдивы")}, - {113, TEXT("Монголия")}, - {114, TEXT("Мьянма")}, - {115, TEXT("Непал")}, - {116, TEXT("Объединенные Арабские Эмираты")}, - {117, TEXT("Оман")}, - {3216, TEXT("Остров Рождества (Австр.)")}, - {122, TEXT("Пакистан")}, - {89, TEXT("Палестина")}, - {94, TEXT("Саудовская Аравия")}, - {118, TEXT("Сингапур")}, - {78, TEXT("Сирия")}, - {91, TEXT("Таджикистан")}, - {119, TEXT("Таиланд")}, - {120, TEXT("Тайвань")}, - {132, TEXT("Тимор")}, - {90, TEXT("Туркмения")}, - {77, TEXT("Турция")}, - {93, TEXT("Узбекистан")}, - {121, TEXT("Филиппины")}, - {98, TEXT("Шри Ланка")}, - {75, TEXT("Япония")}, - {123, TEXT("Австралия")}, - {454, TEXT("Американское Самоа")}, - {124, TEXT("Вануату")}, - {453, TEXT("Гуам (США)")}, - {126, TEXT("Кирибати")}, - {127, TEXT("Маршалловы Острова")}, - {128, TEXT("Микронезия (Федеративные Штаты Микронезии)")}, - {129, TEXT("Науру")}, - {3220, TEXT("Ниуэ (Н.Зел.)")}, - {130, TEXT("Новая Зеландия")}, - {3218, TEXT("Новая Каледония (Фр.)")}, - {3221, TEXT("Острова Кука (Н.Зел.)")}, - {3230, TEXT("Острова Херд и Макдональд (Австр.)")}, - {131, TEXT("Палау")}, - {133, TEXT("Папуа - Новая Гвинея")}, - {3222, TEXT("Питкерн (Брит.)")}, - {125, TEXT("Самоа")}, - {3219, TEXT("Сев. Марианские острова (США)")}, - {134, TEXT("Соломоновы Острова")}, - {3223, TEXT("Токелау (Н.Зел.)")}, - {135, TEXT("Тонга")}, - {136, TEXT("Тувалу")}, - {3224, TEXT("Уоллис и Футуна острова (Фр.)")}, - {137, TEXT("Фиджи")}, - {3226, TEXT("Французская Полинезия")}, - {3225, TEXT("Французские Южные территории")}, - {138, TEXT("Канада")}, - {139, TEXT("США")}, - {3200, TEXT("Ангилья (Брит.)")}, - {140, TEXT("Антигуа и Барбуда")}, - {141, TEXT("Аргентина")}, - {3202, TEXT("Аруба (Нид.)")}, - {142, TEXT("Багамы")}, - {143, TEXT("Барбадос")}, - {146, TEXT("Белиз")}, - {3203, TEXT("Бермуды (Брит.)")}, - {144, TEXT("Боливия")}, - {145, TEXT("Бразилия")}, - {147, TEXT("Венесуэла")}, - {3204, TEXT("Виргинские острова (Брит.)")}, - {452, TEXT("Виргинские острова (США)")}, - {149, TEXT("Гаити")}, - {148, TEXT("Гайана")}, - {3205, TEXT("Гваделупа (Фр.)")}, - {173, TEXT("Гватемала")}, - {150, TEXT("Гондурас")}, - {151, TEXT("Гренада")}, - {152, TEXT("Гренландия (Дат.)")}, - {153, TEXT("Доминика")}, - {154, TEXT("Доминиканская Республика")}, - {155, TEXT("Колумбия")}, - {156, TEXT("Коста-Рика")}, - {157, TEXT("Куба")}, - {3208, TEXT("Мартиника (Фр.)")}, - {158, TEXT("Мексика")}, - {3209, TEXT("Монтсеррат (Брит)")}, - {3201, TEXT("Нидерландские Антилы")}, - {159, TEXT("Никарагуа")}, - {3207, TEXT("Остров Кайман (Брит.)")}, - {3211, TEXT("Острова Теркс и Кайкос (Брит.)")}, - {160, TEXT("Панама")}, - {161, TEXT("Парагвай")}, - {162, TEXT("Перу")}, - {163, TEXT("Сальвадор")}, - {164, TEXT("Сент-Винсент и Гренадины")}, - {165, TEXT("Сент-Китс и Невис")}, - {166, TEXT("Сент-Люсия")}, - {3210, TEXT("Сент-Пьер и Микелон (Фр.)")}, - {167, TEXT("Суринам")}, - {168, TEXT("Тринидат и Тобаго")}, - {169, TEXT("Уругвай")}, - {3212, TEXT("Фолклендские острова (Брит.)")}, - {3206, TEXT("Французская Гвиана")}, - {170, TEXT("Чили")}, - {171, TEXT("Эквадор")}, - {3213, TEXT("Юж. Джорджия и Юж. Сандвичевы о-ва (Брит.)")}, - {172, TEXT("Ямайка")}, - {174, TEXT("Алжир")}, - {175, TEXT("Ангола")}, - {176, TEXT("Бенин")}, - {177, TEXT("Ботсвана")}, - {3228, TEXT("Британская территория в Индийском океане")}, - {178, TEXT("Буркина-Фасо")}, - {179, TEXT("Бурунди")}, - {180, TEXT("Габон")}, - {181, TEXT("Гамбия")}, - {182, TEXT("Гана")}, - {183, TEXT("Гвинея")}, - {184, TEXT("Гвинея-Бисау")}, - {185, TEXT("Джибути")}, - {186, TEXT("Египет")}, - {187, TEXT("Замбия")}, - {3198, TEXT("Зап. Сахара")}, - {23, TEXT("Зимбабве")}, - {188, TEXT("Кабо-Верде")}, - {189, TEXT("Камерун")}, - {190, TEXT("Кения")}, - {191, TEXT("Коморы")}, - {193, TEXT("Конго (Заир)")}, - {192, TEXT("Конго")}, - {194, TEXT("Кот-д`Ивуар")}, - {195, TEXT("Лесото")}, - {196, TEXT("Либерия")}, - {197, TEXT("Ливия")}, - {198, TEXT("Маврикий")}, - {199, TEXT("Мавритания")}, - {200, TEXT("Мадагаскар")}, - {3229, TEXT("Майотт (Фр.)")}, - {201, TEXT("Малави")}, - {202, TEXT("Мали")}, - {203, TEXT("Марокко")}, - {204, TEXT("Мозамбик")}, - {205, TEXT("Намибия")}, - {206, TEXT("Нигер")}, - {207, TEXT("Нигерия")}, - {3227, TEXT("Остров Буве (Норв.)")}, - {3197, TEXT("Реюньон (Фр.)")}, - {208, TEXT("Руанда")}, - {209, TEXT("Сан-Томе и Принсипи")}, - {210, TEXT("Свазиленд")}, - {3199, TEXT("Святая Елена (Брит.)")}, - {211, TEXT("Сейшелы")}, - {212, TEXT("Сенегал")}, - {213, TEXT("Сомали")}, - {214, TEXT("Судан")}, - {215, TEXT("Сьерра-Леоне")}, - {216, TEXT("Танзания")}, - {217, TEXT("Того")}, - {218, TEXT("Тунис")}, - {219, TEXT("Уганда")}, - {220, TEXT("Центральноафриканская Республика")}, - {222, TEXT("Чад")}, - {223, TEXT("Экваториальная Гвинея")}, - {221, TEXT("Эритрея")}, - {224, TEXT("Эфиопия")}, - {225, TEXT("Южно-Африканская Республика (ЮАР)")}, - {39, TEXT("Украина")}, - {40, TEXT("Австрия")}, - {32, TEXT("Албания")}, - {33, TEXT("Андорра")}, - {340, TEXT("Белоруссия")}, - {38, TEXT("Бельгия")}, - {41, TEXT("Болгария")}, - {42, TEXT("Босния и Герцеговина")}, - {43, TEXT("Ватикан")}, - {45, TEXT("Великобритания")}, - {44, TEXT("Венгрия")}, - {46, TEXT("Германия")}, - {3193, TEXT("Гернси (Брит.)")}, - {47, TEXT("Гибралтар (Брит.)")}, - {48, TEXT("Греция")}, - {49, TEXT("Дания")}, - {3194, TEXT("Джерси (Брит.)")}, - {50, TEXT("Ирландия")}, - {51, TEXT("Исландия")}, - {34, TEXT("Испания")}, - {52, TEXT("Италия")}, - {53, TEXT("Латвия")}, - {54, TEXT("Литва")}, - {55, TEXT("Лихтенштейн")}, - {56, TEXT("Люксембург")}, - {57, TEXT("Македония")}, - {58, TEXT("Мальта")}, - {59, TEXT("Молдавия")}, - {36, TEXT("Монако")}, - {60, TEXT("Нидерланды")}, - {61, TEXT("Норвегия")}, - {3195, TEXT("Остров Мэн (Брит.)")}, - {62, TEXT("Польша")}, - {35, TEXT("Португалия")}, - {63, TEXT("Румыния")}, - {64, TEXT("Сан-Марино")}, - {74, TEXT("Сербия и Черногория")}, - {65, TEXT("Словакия")}, - {66, TEXT("Словения")}, - {67, TEXT("Фарерские о-ва (Дания)")}, - {68, TEXT("Финляндия")}, - {37, TEXT("Франция")}, - {69, TEXT("Хорватия")}, - {70, TEXT("Чехия")}, - {71, TEXT("Швейцария")}, - {72, TEXT("Швеция")}, - {3196, TEXT("Шпицберген (Норв.)")}, - {73, TEXT("Эстония")}, + {24, _T("Россия")}, + {81, _T("Азербайджан")}, + {82, _T("Армения")}, + {97, _T("Афганистан")}, + {96, _T("Бангладеш")}, + {99, _T("Бахрейн")}, + {100, _T("Бруней-Даруссалам")}, + {101, _T("Бутан")}, + {102, _T("Вьетнам")}, + {83, _T("Грузия")}, + {86, _T("Израиль")}, + {95, _T("Индия")}, + {103, _T("Индонезия")}, + {79, _T("Иордания")}, + {85, _T("Ирак")}, + {87, _T("Иран")}, + {104, _T("Йемен")}, + {84, _T("Казахстан")}, + {105, _T("Камбоджа")}, + {106, _T("Катар")}, + {107, _T("Кипр")}, + {92, _T("Киргизия (Кыргызстан)")}, + {76, _T("Китай")}, + {3215, _T("Кокосовые острова (Австр.)")}, + {29, _T("Корея (КНДР)")}, + {108, _T("Корея")}, + {88, _T("Кувейт")}, + {109, _T("Лаос")}, + {110, _T("Ливан")}, + {111, _T("Малайзия")}, + {112, _T("Мальдивы")}, + {113, _T("Монголия")}, + {114, _T("Мьянма")}, + {115, _T("Непал")}, + {116, _T("Объединенные Арабские Эмираты")}, + {117, _T("Оман")}, + {3216, _T("Остров Рождества (Австр.)")}, + {122, _T("Пакистан")}, + {89, _T("Палестина")}, + {94, _T("Саудовская Аравия")}, + {118, _T("Сингапур")}, + {78, _T("Сирия")}, + {91, _T("Таджикистан")}, + {119, _T("Таиланд")}, + {120, _T("Тайвань")}, + {132, _T("Тимор")}, + {90, _T("Туркмения")}, + {77, _T("Турция")}, + {93, _T("Узбекистан")}, + {121, _T("Филиппины")}, + {98, _T("Шри Ланка")}, + {75, _T("Япония")}, + {123, _T("Австралия")}, + {454, _T("Американское Самоа")}, + {124, _T("Вануату")}, + {453, _T("Гуам (США)")}, + {126, _T("Кирибати")}, + {127, _T("Маршалловы Острова")}, + {128, _T("Микронезия (Федеративные Штаты Микронезии)")}, + {129, _T("Науру")}, + {3220, _T("Ниуэ (Н.Зел.)")}, + {130, _T("Новая Зеландия")}, + {3218, _T("Новая Каледония (Фр.)")}, + {3221, _T("Острова Кука (Н.Зел.)")}, + {3230, _T("Острова Херд и Макдональд (Австр.)")}, + {131, _T("Палау")}, + {133, _T("Папуа - Новая Гвинея")}, + {3222, _T("Питкерн (Брит.)")}, + {125, _T("Самоа")}, + {3219, _T("Сев. Марианские острова (США)")}, + {134, _T("Соломоновы Острова")}, + {3223, _T("Токелау (Н.Зел.)")}, + {135, _T("Тонга")}, + {136, _T("Тувалу")}, + {3224, _T("Уоллис и Футуна острова (Фр.)")}, + {137, _T("Фиджи")}, + {3226, _T("Французская Полинезия")}, + {3225, _T("Французские Южные территории")}, + {138, _T("Канада")}, + {139, _T("США")}, + {3200, _T("Ангилья (Брит.)")}, + {140, _T("Антигуа и Барбуда")}, + {141, _T("Аргентина")}, + {3202, _T("Аруба (Нид.)")}, + {142, _T("Багамы")}, + {143, _T("Барбадос")}, + {146, _T("Белиз")}, + {3203, _T("Бермуды (Брит.)")}, + {144, _T("Боливия")}, + {145, _T("Бразилия")}, + {147, _T("Венесуэла")}, + {3204, _T("Виргинские острова (Брит.)")}, + {452, _T("Виргинские острова (США)")}, + {149, _T("Гаити")}, + {148, _T("Гайана")}, + {3205, _T("Гваделупа (Фр.)")}, + {173, _T("Гватемала")}, + {150, _T("Гондурас")}, + {151, _T("Гренада")}, + {152, _T("Гренландия (Дат.)")}, + {153, _T("Доминика")}, + {154, _T("Доминиканская Республика")}, + {155, _T("Колумбия")}, + {156, _T("Коста-Рика")}, + {157, _T("Куба")}, + {3208, _T("Мартиника (Фр.)")}, + {158, _T("Мексика")}, + {3209, _T("Монтсеррат (Брит)")}, + {3201, _T("Нидерландские Антилы")}, + {159, _T("Никарагуа")}, + {3207, _T("Остров Кайман (Брит.)")}, + {3211, _T("Острова Теркс и Кайкос (Брит.)")}, + {160, _T("Панама")}, + {161, _T("Парагвай")}, + {162, _T("Перу")}, + {163, _T("Сальвадор")}, + {164, _T("Сент-Винсент и Гренадины")}, + {165, _T("Сент-Китс и Невис")}, + {166, _T("Сент-Люсия")}, + {3210, _T("Сент-Пьер и Микелон (Фр.)")}, + {167, _T("Суринам")}, + {168, _T("Тринидат и Тобаго")}, + {169, _T("Уругвай")}, + {3212, _T("Фолклендские острова (Брит.)")}, + {3206, _T("Французская Гвиана")}, + {170, _T("Чили")}, + {171, _T("Эквадор")}, + {3213, _T("Юж. Джорджия и Юж. Сандвичевы о-ва (Брит.)")}, + {172, _T("Ямайка")}, + {174, _T("Алжир")}, + {175, _T("Ангола")}, + {176, _T("Бенин")}, + {177, _T("Ботсвана")}, + {3228, _T("Британская территория в Индийском океане")}, + {178, _T("Буркина-Фасо")}, + {179, _T("Бурунди")}, + {180, _T("Габон")}, + {181, _T("Гамбия")}, + {182, _T("Гана")}, + {183, _T("Гвинея")}, + {184, _T("Гвинея-Бисау")}, + {185, _T("Джибути")}, + {186, _T("Египет")}, + {187, _T("Замбия")}, + {3198, _T("Зап. Сахара")}, + {23, _T("Зимбабве")}, + {188, _T("Кабо-Верде")}, + {189, _T("Камерун")}, + {190, _T("Кения")}, + {191, _T("Коморы")}, + {193, _T("Конго (Заир)")}, + {192, _T("Конго")}, + {194, _T("Кот-д`Ивуар")}, + {195, _T("Лесото")}, + {196, _T("Либерия")}, + {197, _T("Ливия")}, + {198, _T("Маврикий")}, + {199, _T("Мавритания")}, + {200, _T("Мадагаскар")}, + {3229, _T("Майотт (Фр.)")}, + {201, _T("Малави")}, + {202, _T("Мали")}, + {203, _T("Марокко")}, + {204, _T("Мозамбик")}, + {205, _T("Намибия")}, + {206, _T("Нигер")}, + {207, _T("Нигерия")}, + {3227, _T("Остров Буве (Норв.)")}, + {3197, _T("Реюньон (Фр.)")}, + {208, _T("Руанда")}, + {209, _T("Сан-Томе и Принсипи")}, + {210, _T("Свазиленд")}, + {3199, _T("Святая Елена (Брит.)")}, + {211, _T("Сейшелы")}, + {212, _T("Сенегал")}, + {213, _T("Сомали")}, + {214, _T("Судан")}, + {215, _T("Сьерра-Леоне")}, + {216, _T("Танзания")}, + {217, _T("Того")}, + {218, _T("Тунис")}, + {219, _T("Уганда")}, + {220, _T("Центральноафриканская Республика")}, + {222, _T("Чад")}, + {223, _T("Экваториальная Гвинея")}, + {221, _T("Эритрея")}, + {224, _T("Эфиопия")}, + {225, _T("Южно-Африканская Республика (ЮАР)")}, + {39, _T("Украина")}, + {40, _T("Австрия")}, + {32, _T("Албания")}, + {33, _T("Андорра")}, + {340, _T("Белоруссия")}, + {38, _T("Бельгия")}, + {41, _T("Болгария")}, + {42, _T("Босния и Герцеговина")}, + {43, _T("Ватикан")}, + {45, _T("Великобритания")}, + {44, _T("Венгрия")}, + {46, _T("Германия")}, + {3193, _T("Гернси (Брит.)")}, + {47, _T("Гибралтар (Брит.)")}, + {48, _T("Греция")}, + {49, _T("Дания")}, + {3194, _T("Джерси (Брит.)")}, + {50, _T("Ирландия")}, + {51, _T("Исландия")}, + {34, _T("Испания")}, + {52, _T("Италия")}, + {53, _T("Латвия")}, + {54, _T("Литва")}, + {55, _T("Лихтенштейн")}, + {56, _T("Люксембург")}, + {57, _T("Македония")}, + {58, _T("Мальта")}, + {59, _T("Молдавия")}, + {36, _T("Монако")}, + {60, _T("Нидерланды")}, + {61, _T("Норвегия")}, + {3195, _T("Остров Мэн (Брит.)")}, + {62, _T("Польша")}, + {35, _T("Португалия")}, + {63, _T("Румыния")}, + {64, _T("Сан-Марино")}, + {74, _T("Сербия и Черногория")}, + {65, _T("Словакия")}, + {66, _T("Словения")}, + {67, _T("Фарерские о-ва (Дания)")}, + {68, _T("Финляндия")}, + {37, _T("Франция")}, + {69, _T("Хорватия")}, + {70, _T("Чехия")}, + {71, _T("Швейцария")}, + {72, _T("Швеция")}, + {3196, _T("Шпицберген (Норв.)")}, + {73, _T("Эстония")}, {0, NULL} }; @@ -1667,1125 +1667,1125 @@ static const MRA_COUNTRY mracCountrys[] = static const MRA_CITY mracCitys[] = { - {24, 25, TEXT("Москва")}, - {24, 226, TEXT("Санкт-Петербург")}, - {24, 233, TEXT("Саха (Якутия)")}, - {24, 232, TEXT("Приморский край")}, - {24, 235, TEXT("Хабаровский край")}, - {24, 227, TEXT("Амурская обл.")}, - {24, 229, TEXT("Камчатская обл.")}, - {24, 231, TEXT("Магаданская обл.")}, - {24, 234, TEXT("Сахалинская обл.")}, - {24, 228, TEXT("Еврейская АО")}, - {24, 230, TEXT("Корякский АО")}, - {24, 236, TEXT("Чукотский АО")}, - {24, 237, TEXT("Башкортостан")}, - {24, 240, TEXT("Марий-Эл")}, - {24, 241, TEXT("Мордовия")}, - {24, 248, TEXT("Татарстан")}, - {24, 249, TEXT("Удмуртия")}, - {24, 251, TEXT("Чувашия")}, - {24, 238, TEXT("Кировская обл.")}, - {24, 242, TEXT("Нижегородская обл.")}, - {24, 243, TEXT("Оренбургская обл.")}, - {24, 244, TEXT("Пензенская обл.")}, - {24, 245, TEXT("Пермская обл.")}, - {24, 246, TEXT("Самарская обл.")}, - {24, 247, TEXT("Саратовская обл.")}, - {24, 250, TEXT("Ульяновская обл.")}, - {24, 239, TEXT("Коми-Пермяцкий АО")}, - {24, 255, TEXT("Карелия")}, - {24, 256, TEXT("Коми")}, - {24, 252, TEXT("Архангельская обл.")}, - {24, 253, TEXT("Вологодская обл.")}, - {24, 254, TEXT("Калининградская обл.")}, - {24, 257, TEXT("Ленинградская обл.")}, - {24, 258, TEXT("Мурманская обл.")}, - {24, 260, TEXT("Новгородская обл.")}, - {24, 261, TEXT("Псковская обл.")}, - {24, 259, TEXT("Ненецкий АО")}, - {24, 265, TEXT("Бурятия")}, - {24, 263, TEXT("Республика Алтай")}, - {24, 273, TEXT("Тыва")}, - {24, 275, TEXT("Хакасия")}, - {24, 264, TEXT("Алтайский край")}, - {24, 268, TEXT("Красноярский край")}, - {24, 266, TEXT("Иркутская обл.")}, - {24, 267, TEXT("Кемеровская обл.")}, - {24, 269, TEXT("Новосибирская обл.")}, - {24, 270, TEXT("Омская обл.")}, - {24, 272, TEXT("Томская обл.")}, - {24, 276, TEXT("Читинская обл.")}, - {24, 262, TEXT("Агинский Бурятский АО")}, - {24, 271, TEXT("Таймырский АО")}, - {24, 274, TEXT("Усть-Ордынский Бурятский АО")}, - {24, 277, TEXT("Эвенкийский АО")}, - {24, 278, TEXT("Курганская обл.")}, - {24, 279, TEXT("Свердловская обл.")}, - {24, 280, TEXT("Тюменская обл.")}, - {24, 282, TEXT("Челябинская обл.")}, - {24, 281, TEXT("Ханты-Мансийский АО - Югра")}, - {24, 283, TEXT("Ямало-Ненецкий АО")}, - {24, 284, TEXT("Белгородская обл.")}, - {24, 285, TEXT("Брянская обл.")}, - {24, 286, TEXT("Владимирская обл.")}, - {24, 287, TEXT("Воронежская обл.")}, - {24, 288, TEXT("Ивановская обл.")}, - {24, 289, TEXT("Калужская обл.")}, - {24, 290, TEXT("Костромская обл.")}, - {24, 291, TEXT("Курская обл.")}, - {24, 292, TEXT("Липецкая обл.")}, - {24, 293, TEXT("Московская обл.")}, - {24, 294, TEXT("Орловская обл.")}, - {24, 295, TEXT("Рязанская обл.")}, - {24, 296, TEXT("Смоленская обл.")}, - {24, 297, TEXT("Тамбовская обл.")}, - {24, 298, TEXT("Тверская обл.")}, - {24, 299, TEXT("Тульская обл.")}, - {24, 300, TEXT("Ярославская обл.")}, - {24, 301, TEXT("Адыгея")}, - {24, 304, TEXT("Дагестан")}, - {24, 305, TEXT("Ингушетия")}, - {24, 306, TEXT("Кабардино-Балкария")}, - {24, 307, TEXT("Калмыкия")}, - {24, 308, TEXT("Карачаево-Черкессия")}, - {24, 311, TEXT("Северная Осетия - Алания")}, - {24, 313, TEXT("Чечня")}, - {24, 309, TEXT("Краснодарский край")}, - {24, 312, TEXT("Ставропольский край")}, - {24, 302, TEXT("Астраханская обл.")}, - {24, 303, TEXT("Волгоградская обл.")}, - {24, 310, TEXT("Ростовская обл.")}, - {81, 1055, TEXT("Баку")}, - {81, 1058, TEXT("Гянджа")}, - {81, 1056, TEXT("Нахичевань")}, - {81, 1057, TEXT("Ханкенди")}, - {81, 3153, TEXT("Шеки")}, + {24, 25, _T("Москва")}, + {24, 226, _T("Санкт-Петербург")}, + {24, 233, _T("Саха (Якутия)")}, + {24, 232, _T("Приморский край")}, + {24, 235, _T("Хабаровский край")}, + {24, 227, _T("Амурская обл.")}, + {24, 229, _T("Камчатская обл.")}, + {24, 231, _T("Магаданская обл.")}, + {24, 234, _T("Сахалинская обл.")}, + {24, 228, _T("Еврейская АО")}, + {24, 230, _T("Корякский АО")}, + {24, 236, _T("Чукотский АО")}, + {24, 237, _T("Башкортостан")}, + {24, 240, _T("Марий-Эл")}, + {24, 241, _T("Мордовия")}, + {24, 248, _T("Татарстан")}, + {24, 249, _T("Удмуртия")}, + {24, 251, _T("Чувашия")}, + {24, 238, _T("Кировская обл.")}, + {24, 242, _T("Нижегородская обл.")}, + {24, 243, _T("Оренбургская обл.")}, + {24, 244, _T("Пензенская обл.")}, + {24, 245, _T("Пермская обл.")}, + {24, 246, _T("Самарская обл.")}, + {24, 247, _T("Саратовская обл.")}, + {24, 250, _T("Ульяновская обл.")}, + {24, 239, _T("Коми-Пермяцкий АО")}, + {24, 255, _T("Карелия")}, + {24, 256, _T("Коми")}, + {24, 252, _T("Архангельская обл.")}, + {24, 253, _T("Вологодская обл.")}, + {24, 254, _T("Калининградская обл.")}, + {24, 257, _T("Ленинградская обл.")}, + {24, 258, _T("Мурманская обл.")}, + {24, 260, _T("Новгородская обл.")}, + {24, 261, _T("Псковская обл.")}, + {24, 259, _T("Ненецкий АО")}, + {24, 265, _T("Бурятия")}, + {24, 263, _T("Республика Алтай")}, + {24, 273, _T("Тыва")}, + {24, 275, _T("Хакасия")}, + {24, 264, _T("Алтайский край")}, + {24, 268, _T("Красноярский край")}, + {24, 266, _T("Иркутская обл.")}, + {24, 267, _T("Кемеровская обл.")}, + {24, 269, _T("Новосибирская обл.")}, + {24, 270, _T("Омская обл.")}, + {24, 272, _T("Томская обл.")}, + {24, 276, _T("Читинская обл.")}, + {24, 262, _T("Агинский Бурятский АО")}, + {24, 271, _T("Таймырский АО")}, + {24, 274, _T("Усть-Ордынский Бурятский АО")}, + {24, 277, _T("Эвенкийский АО")}, + {24, 278, _T("Курганская обл.")}, + {24, 279, _T("Свердловская обл.")}, + {24, 280, _T("Тюменская обл.")}, + {24, 282, _T("Челябинская обл.")}, + {24, 281, _T("Ханты-Мансийский АО - Югра")}, + {24, 283, _T("Ямало-Ненецкий АО")}, + {24, 284, _T("Белгородская обл.")}, + {24, 285, _T("Брянская обл.")}, + {24, 286, _T("Владимирская обл.")}, + {24, 287, _T("Воронежская обл.")}, + {24, 288, _T("Ивановская обл.")}, + {24, 289, _T("Калужская обл.")}, + {24, 290, _T("Костромская обл.")}, + {24, 291, _T("Курская обл.")}, + {24, 292, _T("Липецкая обл.")}, + {24, 293, _T("Московская обл.")}, + {24, 294, _T("Орловская обл.")}, + {24, 295, _T("Рязанская обл.")}, + {24, 296, _T("Смоленская обл.")}, + {24, 297, _T("Тамбовская обл.")}, + {24, 298, _T("Тверская обл.")}, + {24, 299, _T("Тульская обл.")}, + {24, 300, _T("Ярославская обл.")}, + {24, 301, _T("Адыгея")}, + {24, 304, _T("Дагестан")}, + {24, 305, _T("Ингушетия")}, + {24, 306, _T("Кабардино-Балкария")}, + {24, 307, _T("Калмыкия")}, + {24, 308, _T("Карачаево-Черкессия")}, + {24, 311, _T("Северная Осетия - Алания")}, + {24, 313, _T("Чечня")}, + {24, 309, _T("Краснодарский край")}, + {24, 312, _T("Ставропольский край")}, + {24, 302, _T("Астраханская обл.")}, + {24, 303, _T("Волгоградская обл.")}, + {24, 310, _T("Ростовская обл.")}, + {81, 1055, _T("Баку")}, + {81, 1058, _T("Гянджа")}, + {81, 1056, _T("Нахичевань")}, + {81, 1057, _T("Ханкенди")}, + {81, 3153, _T("Шеки")}, {81, 2291, lpwszOther}, - {82, 2932, TEXT("Абовян")}, - {82, 1060, TEXT("Аштарак")}, - {82, 3084, TEXT("Ванадзор")}, - {82, 3011, TEXT("Гюмри")}, - {82, 3306, TEXT("Дилижан")}, - {82, 1059, TEXT("Ереван")}, - {82, 3145, TEXT("Ханкенди")}, + {82, 2932, _T("Абовян")}, + {82, 1060, _T("Аштарак")}, + {82, 3084, _T("Ванадзор")}, + {82, 3011, _T("Гюмри")}, + {82, 3306, _T("Дилижан")}, + {82, 1059, _T("Ереван")}, + {82, 3145, _T("Ханкенди")}, {82, 2292, lpwszOther}, - {97, 1061, TEXT("Кабул")}, + {97, 1061, _T("Кабул")}, {97, 2293, lpwszOther}, - {96, 1062, TEXT("Дакка")}, + {96, 1062, _T("Дакка")}, {96, 2294, lpwszOther}, - {99, 1063, TEXT("Манама")}, + {99, 1063, _T("Манама")}, {99, 2295, lpwszOther}, - {100, 1064, TEXT("Бандар-Сери-Бегаван")}, + {100, 1064, _T("Бандар-Сери-Бегаван")}, {100, 2296, lpwszOther}, - {101, 1065, TEXT("Тхимпху")}, + {101, 1065, _T("Тхимпху")}, {101, 2297, lpwszOther}, - {102, 1066, TEXT("Ханой")}, + {102, 1066, _T("Ханой")}, {102, 2298, lpwszOther}, - {83, 1067, TEXT("Батуми")}, - {83, 3158, TEXT("Боржоми")}, - {83, 1068, TEXT("Поти")}, - {83, 3129, TEXT("Рустави")}, - {83, 1069, TEXT("Сухуми")}, - {83, 1070, TEXT("Тбилиси")}, + {83, 1067, _T("Батуми")}, + {83, 3158, _T("Боржоми")}, + {83, 1068, _T("Поти")}, + {83, 3129, _T("Рустави")}, + {83, 1069, _T("Сухуми")}, + {83, 1070, _T("Тбилиси")}, {83, 2299, lpwszOther}, - {86, 3345, TEXT("Ариэль")}, - {86, 1071, TEXT("Афула")}, - {86, 2992, TEXT("Ашдод")}, - {86, 3175, TEXT("Ашкелон")}, - {86, 3363, TEXT("Бат-Ям")}, - {86, 2884, TEXT("Беер-Яков")}, - {86, 3243, TEXT("Бейт-Шемеш")}, - {86, 1074, TEXT("Беэр-Шева")}, - {86, 3348, TEXT("Герцелия")}, - {86, 3241, TEXT("Димона")}, - {86, 1075, TEXT("Иерусалим")}, - {86, 3350, TEXT("Йокнеам-Иллит")}, - {86, 2982, TEXT("Кармиэль")}, - {86, 2971, TEXT("Кфар-Саба")}, - {86, 3136, TEXT("Назарет")}, - {86, 1080, TEXT("Натания")}, - {86, 3303, TEXT("Офаким")}, - {86, 3050, TEXT("Раанана")}, - {86, 3151, TEXT("Рамат Ган")}, - {86, 3141, TEXT("Реховот")}, - {86, 3012, TEXT("Ришон ле Цион")}, - {86, 1081, TEXT("Тверия")}, - {86, 1077, TEXT("Тель-Авив")}, - {86, 1079, TEXT("Хадера")}, - {86, 1078, TEXT("Хайфа")}, - {86, 1076, TEXT("Хеврон")}, - {86, 2929, TEXT("Цфат")}, - {86, 2928, TEXT("Эйлат")}, + {86, 3345, _T("Ариэль")}, + {86, 1071, _T("Афула")}, + {86, 2992, _T("Ашдод")}, + {86, 3175, _T("Ашкелон")}, + {86, 3363, _T("Бат-Ям")}, + {86, 2884, _T("Беер-Яков")}, + {86, 3243, _T("Бейт-Шемеш")}, + {86, 1074, _T("Беэр-Шева")}, + {86, 3348, _T("Герцелия")}, + {86, 3241, _T("Димона")}, + {86, 1075, _T("Иерусалим")}, + {86, 3350, _T("Йокнеам-Иллит")}, + {86, 2982, _T("Кармиэль")}, + {86, 2971, _T("Кфар-Саба")}, + {86, 3136, _T("Назарет")}, + {86, 1080, _T("Натания")}, + {86, 3303, _T("Офаким")}, + {86, 3050, _T("Раанана")}, + {86, 3151, _T("Рамат Ган")}, + {86, 3141, _T("Реховот")}, + {86, 3012, _T("Ришон ле Цион")}, + {86, 1081, _T("Тверия")}, + {86, 1077, _T("Тель-Авив")}, + {86, 1079, _T("Хадера")}, + {86, 1078, _T("Хайфа")}, + {86, 1076, _T("Хеврон")}, + {86, 2929, _T("Цфат")}, + {86, 2928, _T("Эйлат")}, {86, 2300, lpwszOther}, - {95, 3315, TEXT("Бангалор")}, - {95, 1082, TEXT("Дели")}, - {95, 1083, TEXT("Джайпур")}, - {95, 3144, TEXT("Калькутта")}, - {95, 3025, TEXT("Мумбаи")}, - {95, 3277, TEXT("Панаджи")}, - {95, 1084, TEXT("Ченнаи")}, + {95, 3315, _T("Бангалор")}, + {95, 1082, _T("Дели")}, + {95, 1083, _T("Джайпур")}, + {95, 3144, _T("Калькутта")}, + {95, 3025, _T("Мумбаи")}, + {95, 3277, _T("Панаджи")}, + {95, 1084, _T("Ченнаи")}, {95, 2301, lpwszOther}, - {103, 1085, TEXT("Джакарта")}, + {103, 1085, _T("Джакарта")}, {103, 2302, lpwszOther}, - {79, 1086, TEXT("Амман")}, + {79, 1086, _T("Амман")}, {79, 2303, lpwszOther}, - {85, 1087, TEXT("Багдад")}, + {85, 1087, _T("Багдад")}, {85, 2304, lpwszOther}, - {87, 1088, TEXT("Тегеран")}, + {87, 1088, _T("Тегеран")}, {87, 2305, lpwszOther}, - {104, 1089, TEXT("Сана")}, + {104, 1089, _T("Сана")}, {104, 2306, lpwszOther}, - {84, 1090, TEXT("Актау")}, - {84, 1091, TEXT("Актюбинск")}, - {84, 1092, TEXT("Алма-Ата")}, - {84, 3242, TEXT("Аршалы")}, - {84, 1093, TEXT("Астана")}, - {84, 1094, TEXT("Атырау (Гурьев)")}, - {84, 1095, TEXT("Байконур")}, - {84, 3245, TEXT("Балхаш")}, - {84, 3083, TEXT("Жезказган")}, - {84, 1096, TEXT("Капчагай")}, - {84, 1097, TEXT("Караганда")}, - {84, 1098, TEXT("Кокшетау")}, - {84, 1099, TEXT("Кустанай")}, - {84, 2868, TEXT("Лисаковск")}, - {84, 1100, TEXT("Павлодар")}, - {84, 1101, TEXT("Петропавловск (Сев.-Каз. обл.)")}, - {84, 1102, TEXT("Рудный")}, - {84, 1103, TEXT("Семипалатинск")}, - {84, 1104, TEXT("Степногорск")}, - {84, 3166, TEXT("Талгар")}, - {84, 1105, TEXT("Талды-Курган")}, - {84, 2927, TEXT("Тараз")}, - {84, 1106, TEXT("Темиртау")}, - {84, 1107, TEXT("Уральск")}, - {84, 1108, TEXT("Усть-Каменогорск")}, - {84, 1109, TEXT("Чимкент")}, - {84, 1110, TEXT("Экибастуз")}, + {84, 1090, _T("Актау")}, + {84, 1091, _T("Актюбинск")}, + {84, 1092, _T("Алма-Ата")}, + {84, 3242, _T("Аршалы")}, + {84, 1093, _T("Астана")}, + {84, 1094, _T("Атырау (Гурьев)")}, + {84, 1095, _T("Байконур")}, + {84, 3245, _T("Балхаш")}, + {84, 3083, _T("Жезказган")}, + {84, 1096, _T("Капчагай")}, + {84, 1097, _T("Караганда")}, + {84, 1098, _T("Кокшетау")}, + {84, 1099, _T("Кустанай")}, + {84, 2868, _T("Лисаковск")}, + {84, 1100, _T("Павлодар")}, + {84, 1101, _T("Петропавловск (Сев.-Каз. обл.)")}, + {84, 1102, _T("Рудный")}, + {84, 1103, _T("Семипалатинск")}, + {84, 1104, _T("Степногорск")}, + {84, 3166, _T("Талгар")}, + {84, 1105, _T("Талды-Курган")}, + {84, 2927, _T("Тараз")}, + {84, 1106, _T("Темиртау")}, + {84, 1107, _T("Уральск")}, + {84, 1108, _T("Усть-Каменогорск")}, + {84, 1109, _T("Чимкент")}, + {84, 1110, _T("Экибастуз")}, {84, 2307, lpwszOther}, - {105, 1111, TEXT("Пномпень")}, + {105, 1111, _T("Пномпень")}, {105, 2308, lpwszOther}, - {106, 1112, TEXT("Доха")}, + {106, 1112, _T("Доха")}, {106, 2309, lpwszOther}, - {107, 1113, TEXT("Ларнака")}, - {107, 1114, TEXT("Лимассол")}, - {107, 1115, TEXT("Никосия")}, - {107, 2954, TEXT("Пафос")}, + {107, 1113, _T("Ларнака")}, + {107, 1114, _T("Лимассол")}, + {107, 1115, _T("Никосия")}, + {107, 2954, _T("Пафос")}, {107, 2310, lpwszOther}, - {92, 1116, TEXT("Бишкек")}, - {92, 1117, TEXT("Джалал-Абад")}, - {92, 3027, TEXT("Кара-Балта")}, - {92, 1118, TEXT("Каракол")}, - {92, 1119, TEXT("Ош")}, - {92, 1120, TEXT("Талас")}, - {92, 2933, TEXT("Хайдаркен")}, + {92, 1116, _T("Бишкек")}, + {92, 1117, _T("Джалал-Абад")}, + {92, 3027, _T("Кара-Балта")}, + {92, 1118, _T("Каракол")}, + {92, 1119, _T("Ош")}, + {92, 1120, _T("Талас")}, + {92, 2933, _T("Хайдаркен")}, {92, 2311, lpwszOther}, - {76, 3214, TEXT("Аомынь (Макао)")}, - {76, 1121, TEXT("Гонконг")}, - {76, 2869, TEXT("Гуанчжоу")}, - {76, 3262, TEXT("Далянь")}, - {76, 1122, TEXT("Пекин")}, - {76, 1123, TEXT("Харбин")}, - {76, 1124, TEXT("Шанхай")}, - {76, 3043, TEXT("Шеньян")}, + {76, 3214, _T("Аомынь (Макао)")}, + {76, 1121, _T("Гонконг")}, + {76, 2869, _T("Гуанчжоу")}, + {76, 3262, _T("Далянь")}, + {76, 1122, _T("Пекин")}, + {76, 1123, _T("Харбин")}, + {76, 1124, _T("Шанхай")}, + {76, 3043, _T("Шеньян")}, {76, 2312, lpwszOther}, - {29, 1125, TEXT("Пхеньян")}, + {29, 1125, _T("Пхеньян")}, {29, 2313, lpwszOther}, - {108, 1126, TEXT("Сеул")}, - {108, 3240, TEXT("Тейджон")}, + {108, 1126, _T("Сеул")}, + {108, 3240, _T("Тейджон")}, {108, 2314, lpwszOther}, - {88, 1127, TEXT("Эль-Кувейт")}, + {88, 1127, _T("Эль-Кувейт")}, {88, 2315, lpwszOther}, - {109, 1128, TEXT("Вьентьян")}, + {109, 1128, _T("Вьентьян")}, {109, 2316, lpwszOther}, - {110, 1129, TEXT("Бейрут")}, + {110, 1129, _T("Бейрут")}, {110, 2317, lpwszOther}, - {111, 1130, TEXT("Джохор-Бару")}, - {111, 1131, TEXT("Куала-Лумпур")}, + {111, 1130, _T("Джохор-Бару")}, + {111, 1131, _T("Куала-Лумпур")}, {111, 2318, lpwszOther}, - {112, 1132, TEXT("Мале")}, + {112, 1132, _T("Мале")}, {112, 2319, lpwszOther}, - {113, 1133, TEXT("Улан-Батор")}, - {113, 1134, TEXT("Эрдэнэт")}, + {113, 1133, _T("Улан-Батор")}, + {113, 1134, _T("Эрдэнэт")}, {113, 2320, lpwszOther}, - {114, 1135, TEXT("Янгон")}, + {114, 1135, _T("Янгон")}, {114, 2321, lpwszOther}, - {115, 1136, TEXT("Катманду")}, + {115, 1136, _T("Катманду")}, {115, 2322, lpwszOther}, - {116, 1137, TEXT("Абу-Даби")}, - {116, 1138, TEXT("Дубай")}, - {116, 1139, TEXT("Шарджа")}, + {116, 1137, _T("Абу-Даби")}, + {116, 1138, _T("Дубай")}, + {116, 1139, _T("Шарджа")}, {116, 2323, lpwszOther}, - {117, 1140, TEXT("Маскат")}, + {117, 1140, _T("Маскат")}, {117, 2324, lpwszOther}, - {122, 1141, TEXT("Исламабад")}, + {122, 1141, _T("Исламабад")}, {122, 2325, lpwszOther}, - {89, 1072, TEXT("Ашдод")}, - {89, 1073, TEXT("Ашкелон")}, - {89, 1142, TEXT("Газа")}, + {89, 1072, _T("Ашдод")}, + {89, 1073, _T("Ашкелон")}, + {89, 1142, _T("Газа")}, {89, 2326, lpwszOther}, - {94, 3250, TEXT("Медина")}, - {94, 1143, TEXT("Эр-Рияд")}, + {94, 3250, _T("Медина")}, + {94, 1143, _T("Эр-Рияд")}, {94, 2327, lpwszOther}, - {78, 1144, TEXT("Дамаск")}, + {78, 1144, _T("Дамаск")}, {78, 2328, lpwszOther}, - {91, 1145, TEXT("Душанбе")}, - {91, 3307, TEXT("Кайраккум")}, - {91, 3308, TEXT("Худжанд")}, + {91, 1145, _T("Душанбе")}, + {91, 3307, _T("Кайраккум")}, + {91, 3308, _T("Худжанд")}, {91, 2329, lpwszOther}, - {119, 1146, TEXT("Бангкок")}, - {119, 1147, TEXT("Пхукет")}, + {119, 1146, _T("Бангкок")}, + {119, 1147, _T("Пхукет")}, {119, 2330, lpwszOther}, - {120, 1148, TEXT("Тайбэй")}, + {120, 1148, _T("Тайбэй")}, {120, 2331, lpwszOther}, - {132, 1149, TEXT("Дили")}, + {132, 1149, _T("Дили")}, {132, 2332, lpwszOther}, - {90, 1150, TEXT("Ашхабад")}, - {90, 3079, TEXT("Безмеин")}, + {90, 1150, _T("Ашхабад")}, + {90, 3079, _T("Безмеин")}, {90, 2333, lpwszOther}, - {77, 1152, TEXT("Анкара")}, - {77, 1153, TEXT("Анталия")}, - {77, 3080, TEXT("Бурса")}, - {77, 1151, TEXT("Мармарис")}, - {77, 1154, TEXT("Стамбул")}, - {77, 1155, TEXT("Трабзон")}, + {77, 1152, _T("Анкара")}, + {77, 1153, _T("Анталия")}, + {77, 3080, _T("Бурса")}, + {77, 1151, _T("Мармарис")}, + {77, 1154, _T("Стамбул")}, + {77, 1155, _T("Трабзон")}, {77, 2334, lpwszOther}, - {93, 3362, TEXT("Алмалык")}, - {93, 3137, TEXT("Андижан")}, - {93, 3273, TEXT("Асака")}, - {93, 1156, TEXT("Ахангаран")}, - {93, 1157, TEXT("Бухара")}, - {93, 3167, TEXT("Джизак")}, - {93, 3347, TEXT("Кунград")}, - {93, 1158, TEXT("Навои")}, - {93, 1159, TEXT("Наманган")}, - {93, 1160, TEXT("Самарканд")}, - {93, 1161, TEXT("Ташкент")}, - {93, 1162, TEXT("Ургенч")}, - {93, 1163, TEXT("Фергана")}, - {93, 1164, TEXT("Чирчик")}, + {93, 3362, _T("Алмалык")}, + {93, 3137, _T("Андижан")}, + {93, 3273, _T("Асака")}, + {93, 1156, _T("Ахангаран")}, + {93, 1157, _T("Бухара")}, + {93, 3167, _T("Джизак")}, + {93, 3347, _T("Кунград")}, + {93, 1158, _T("Навои")}, + {93, 1159, _T("Наманган")}, + {93, 1160, _T("Самарканд")}, + {93, 1161, _T("Ташкент")}, + {93, 1162, _T("Ургенч")}, + {93, 1163, _T("Фергана")}, + {93, 1164, _T("Чирчик")}, {93, 2335, lpwszOther}, - {121, 1165, TEXT("Манила")}, - {121, 3319, TEXT("Себу")}, + {121, 1165, _T("Манила")}, + {121, 3319, _T("Себу")}, {121, 2336, lpwszOther}, - {98, 1166, TEXT("Коломбо")}, + {98, 1166, _T("Коломбо")}, {98, 2337, lpwszOther}, - {75, 3176, TEXT("Исесаки")}, - {75, 3339, TEXT("Корияма")}, - {75, 1167, TEXT("Саппоро")}, - {75, 1168, TEXT("Токио")}, + {75, 3176, _T("Исесаки")}, + {75, 3339, _T("Корияма")}, + {75, 1167, _T("Саппоро")}, + {75, 1168, _T("Токио")}, {75, 2338, lpwszOther}, - {123, 1914, TEXT("Аделаида")}, - {123, 2957, TEXT("Блэк Рок")}, - {123, 1915, TEXT("Брисбен")}, - {123, 3331, TEXT("Горокан")}, - {123, 1916, TEXT("Канберра")}, - {123, 3001, TEXT("Лидкомб")}, - {123, 1917, TEXT("Мельбурн")}, - {123, 3217, TEXT("Норфолк")}, - {123, 3064, TEXT("Перт")}, - {123, 3020, TEXT("Санта Люсиа")}, - {123, 1918, TEXT("Сидней")}, - {123, 3238, TEXT("Энеабба")}, + {123, 1914, _T("Аделаида")}, + {123, 2957, _T("Блэк Рок")}, + {123, 1915, _T("Брисбен")}, + {123, 3331, _T("Горокан")}, + {123, 1916, _T("Канберра")}, + {123, 3001, _T("Лидкомб")}, + {123, 1917, _T("Мельбурн")}, + {123, 3217, _T("Норфолк")}, + {123, 3064, _T("Перт")}, + {123, 3020, _T("Санта Люсиа")}, + {123, 1918, _T("Сидней")}, + {123, 3238, _T("Энеабба")}, {123, 2339, lpwszOther}, - {454, 1192, TEXT("Паго-Паго")}, + {454, 1192, _T("Паго-Паго")}, {454, 2366, lpwszOther}, - {124, 1919, TEXT("Порт-Вила")}, + {124, 1919, _T("Порт-Вила")}, {124, 2340, lpwszOther}, - {453, 1193, TEXT("Аганья")}, + {453, 1193, _T("Аганья")}, {453, 2368, lpwszOther}, - {126, 1921, TEXT("Баирики")}, + {126, 1921, _T("Баирики")}, {126, 2342, lpwszOther}, - {127, 1922, TEXT("Маджуро")}, + {127, 1922, _T("Маджуро")}, {127, 2343, lpwszOther}, - {128, 1923, TEXT("Паликир")}, + {128, 1923, _T("Паликир")}, {128, 2344, lpwszOther}, - {129, 1924, TEXT("Ярен")}, + {129, 1924, _T("Ярен")}, {129, 2345, lpwszOther}, - {130, 1925, TEXT("Веллингтон")}, - {130, 1926, TEXT("Гамильтон")}, - {130, 1928, TEXT("Данидин")}, - {130, 1929, TEXT("Крайстчерч")}, - {130, 3235, TEXT("Кромвель")}, - {130, 1927, TEXT("Окленд")}, - {130, 3323, TEXT("Тауранга")}, + {130, 1925, _T("Веллингтон")}, + {130, 1926, _T("Гамильтон")}, + {130, 1928, _T("Данидин")}, + {130, 1929, _T("Крайстчерч")}, + {130, 3235, _T("Кромвель")}, + {130, 1927, _T("Окленд")}, + {130, 3323, _T("Тауранга")}, {130, 2346, lpwszOther}, - {131, 1930, TEXT("Корор")}, + {131, 1930, _T("Корор")}, {131, 2347, lpwszOther}, - {133, 1931, TEXT("Порт-Морсби")}, + {133, 1931, _T("Порт-Морсби")}, {133, 2348, lpwszOther}, - {125, 1920, TEXT("Апиа")}, + {125, 1920, _T("Апиа")}, {125, 2341, lpwszOther}, - {134, 1932, TEXT("Хониара")}, + {134, 1932, _T("Хониара")}, {134, 2349, lpwszOther}, - {135, 1933, TEXT("Нукуалофа")}, + {135, 1933, _T("Нукуалофа")}, {135, 2350, lpwszOther}, - {136, 1934, TEXT("Фунафути")}, + {136, 1934, _T("Фунафути")}, {136, 2351, lpwszOther}, - {137, 1935, TEXT("Сува")}, + {137, 1935, _T("Сува")}, {137, 2352, lpwszOther}, - {138, 3055, TEXT("Барлингтон")}, - {138, 3049, TEXT("Броссард")}, - {138, 3330, TEXT("Бурнаби")}, - {138, 1169, TEXT("Ванкувер")}, - {138, 3106, TEXT("Ватерлоо")}, - {138, 1170, TEXT("Виннипег")}, - {138, 1171, TEXT("Галифакс")}, - {138, 1172, TEXT("Гамильтон")}, - {138, 3365, TEXT("Денвер")}, - {138, 1173, TEXT("Калгари")}, - {138, 3104, TEXT("Камлупс")}, - {138, 3366, TEXT("Каннингтон")}, - {138, 1174, TEXT("Квебек")}, - {138, 2964, TEXT("Кингстон")}, - {138, 3113, TEXT("Коквитлам")}, - {138, 1175, TEXT("Монреаль")}, - {138, 2920, TEXT("Ниагара-Фолс")}, - {138, 2889, TEXT("Норд-Йорк")}, - {138, 1176, TEXT("Оттава")}, - {138, 2903, TEXT("Порт Алберни")}, - {138, 1177, TEXT("Ричмонд")}, - {138, 1178, TEXT("Тимминс")}, - {138, 2946, TEXT("Торнхилл")}, - {138, 1179, TEXT("Торонто")}, - {138, 1180, TEXT("Эдмонтон")}, + {138, 3055, _T("Барлингтон")}, + {138, 3049, _T("Броссард")}, + {138, 3330, _T("Бурнаби")}, + {138, 1169, _T("Ванкувер")}, + {138, 3106, _T("Ватерлоо")}, + {138, 1170, _T("Виннипег")}, + {138, 1171, _T("Галифакс")}, + {138, 1172, _T("Гамильтон")}, + {138, 3365, _T("Денвер")}, + {138, 1173, _T("Калгари")}, + {138, 3104, _T("Камлупс")}, + {138, 3366, _T("Каннингтон")}, + {138, 1174, _T("Квебек")}, + {138, 2964, _T("Кингстон")}, + {138, 3113, _T("Коквитлам")}, + {138, 1175, _T("Монреаль")}, + {138, 2920, _T("Ниагара-Фолс")}, + {138, 2889, _T("Норд-Йорк")}, + {138, 1176, _T("Оттава")}, + {138, 2903, _T("Порт Алберни")}, + {138, 1177, _T("Ричмонд")}, + {138, 1178, _T("Тимминс")}, + {138, 2946, _T("Торнхилл")}, + {138, 1179, _T("Торонто")}, + {138, 1180, _T("Эдмонтон")}, {138, 2353, lpwszOther}, - {139, 407, TEXT("Вашингтон")}, - {139, 426, TEXT("Айдахо")}, - {139, 378, TEXT("Айова")}, - {139, 412, TEXT("Алабама")}, - {139, 446, TEXT("Аляска")}, - {139, 434, TEXT("Аризона")}, - {139, 416, TEXT("Арканзас")}, - {139, 428, TEXT("Вайоминг")}, - {139, 440, TEXT("Вашингтон")}, - {139, 352, TEXT("Вермонт")}, - {139, 394, TEXT("Виргиния")}, - {139, 374, TEXT("Висконсин")}, - {139, 448, TEXT("Гавайи")}, - {139, 390, TEXT("Делавер")}, - {139, 402, TEXT("Джорджия")}, - {139, 396, TEXT("Западная Виргиния")}, - {139, 370, TEXT("Иллинойс")}, - {139, 368, TEXT("Индиана")}, - {139, 444, TEXT("Калифорния")}, - {139, 388, TEXT("Канзас")}, - {139, 408, TEXT("Кентукки")}, - {139, 430, TEXT("Колорадо")}, - {139, 358, TEXT("Коннектикут")}, - {139, 418, TEXT("Луизиана")}, - {139, 354, TEXT("Массачусетс")}, - {139, 376, TEXT("Миннесота")}, - {139, 414, TEXT("Миссисипи")}, - {139, 380, TEXT("Миссури")}, - {139, 372, TEXT("Мичиган")}, - {139, 424, TEXT("Монтана")}, - {139, 348, TEXT("Мэн")}, - {139, 392, TEXT("Мэриленд")}, - {139, 386, TEXT("Небраска")}, - {139, 438, TEXT("Невада")}, - {139, 362, TEXT("Нью-Джерси")}, - {139, 360, TEXT("Нью-Йорк")}, - {139, 432, TEXT("Нью-Мексико")}, - {139, 350, TEXT("Нью-Хэмпшир")}, - {139, 366, TEXT("Огайо")}, - {139, 420, TEXT("Оклахома")}, - {139, 442, TEXT("Орегон")}, - {139, 364, TEXT("Пенсильвания")}, - {139, 450, TEXT("Пуэрто-Рико")}, - {139, 356, TEXT("Род-Айленд")}, - {139, 382, TEXT("Северная Дакота")}, - {139, 398, TEXT("Северная Каролина")}, - {139, 410, TEXT("Теннесси")}, - {139, 422, TEXT("Техас")}, - {139, 406, TEXT("Федеральный округ Колумбия")}, - {139, 404, TEXT("Флорида")}, - {139, 384, TEXT("Южная Дакота")}, - {139, 400, TEXT("Южная Каролина")}, - {139, 436, TEXT("Юта")}, - {140, 1238, TEXT("Сент-Джонс")}, + {139, 407, _T("Вашингтон")}, + {139, 426, _T("Айдахо")}, + {139, 378, _T("Айова")}, + {139, 412, _T("Алабама")}, + {139, 446, _T("Аляска")}, + {139, 434, _T("Аризона")}, + {139, 416, _T("Арканзас")}, + {139, 428, _T("Вайоминг")}, + {139, 440, _T("Вашингтон")}, + {139, 352, _T("Вермонт")}, + {139, 394, _T("Виргиния")}, + {139, 374, _T("Висконсин")}, + {139, 448, _T("Гавайи")}, + {139, 390, _T("Делавер")}, + {139, 402, _T("Джорджия")}, + {139, 396, _T("Западная Виргиния")}, + {139, 370, _T("Иллинойс")}, + {139, 368, _T("Индиана")}, + {139, 444, _T("Калифорния")}, + {139, 388, _T("Канзас")}, + {139, 408, _T("Кентукки")}, + {139, 430, _T("Колорадо")}, + {139, 358, _T("Коннектикут")}, + {139, 418, _T("Луизиана")}, + {139, 354, _T("Массачусетс")}, + {139, 376, _T("Миннесота")}, + {139, 414, _T("Миссисипи")}, + {139, 380, _T("Миссури")}, + {139, 372, _T("Мичиган")}, + {139, 424, _T("Монтана")}, + {139, 348, _T("Мэн")}, + {139, 392, _T("Мэриленд")}, + {139, 386, _T("Небраска")}, + {139, 438, _T("Невада")}, + {139, 362, _T("Нью-Джерси")}, + {139, 360, _T("Нью-Йорк")}, + {139, 432, _T("Нью-Мексико")}, + {139, 350, _T("Нью-Хэмпшир")}, + {139, 366, _T("Огайо")}, + {139, 420, _T("Оклахома")}, + {139, 442, _T("Орегон")}, + {139, 364, _T("Пенсильвания")}, + {139, 450, _T("Пуэрто-Рико")}, + {139, 356, _T("Род-Айленд")}, + {139, 382, _T("Северная Дакота")}, + {139, 398, _T("Северная Каролина")}, + {139, 410, _T("Теннесси")}, + {139, 422, _T("Техас")}, + {139, 406, _T("Федеральный округ Колумбия")}, + {139, 404, _T("Флорида")}, + {139, 384, _T("Южная Дакота")}, + {139, 400, _T("Южная Каролина")}, + {139, 436, _T("Юта")}, + {140, 1238, _T("Сент-Джонс")}, {140, 2442, lpwszOther}, - {141, 1239, TEXT("Буэнос-Айрес")}, + {141, 1239, _T("Буэнос-Айрес")}, {141, 2441, lpwszOther}, - {142, 1240, TEXT("Нассау")}, + {142, 1240, _T("Нассау")}, {142, 2440, lpwszOther}, - {143, 1241, TEXT("Бриджтаун")}, + {143, 1241, _T("Бриджтаун")}, {143, 2439, lpwszOther}, - {146, 1242, TEXT("Бельмопан")}, + {146, 1242, _T("Бельмопан")}, {146, 2438, lpwszOther}, - {144, 1243, TEXT("Ла-Пас")}, + {144, 1243, _T("Ла-Пас")}, {144, 2437, lpwszOther}, - {145, 1244, TEXT("Бразилиа")}, - {145, 3094, TEXT("Пассо Фундо")}, - {145, 1245, TEXT("Рио-де-Жанейро")}, - {145, 1246, TEXT("Сан-Паулу")}, + {145, 1244, _T("Бразилиа")}, + {145, 3094, _T("Пассо Фундо")}, + {145, 1245, _T("Рио-де-Жанейро")}, + {145, 1246, _T("Сан-Паулу")}, {145, 2436, lpwszOther}, - {147, 1247, TEXT("Каракас")}, + {147, 1247, _T("Каракас")}, {147, 2435, lpwszOther}, - {452, 1190, TEXT("Шарлотта-Амалия")}, + {452, 1190, _T("Шарлотта-Амалия")}, {452, 2364, lpwszOther}, - {149, 1248, TEXT("Порт-о-Пренс")}, + {149, 1248, _T("Порт-о-Пренс")}, {149, 2434, lpwszOther}, - {148, 1249, TEXT("Джоржтаун")}, + {148, 1249, _T("Джоржтаун")}, {148, 2433, lpwszOther}, - {173, 1250, TEXT("Гватемала")}, + {173, 1250, _T("Гватемала")}, {173, 2432, lpwszOther}, - {150, 1251, TEXT("Тегусигальпа")}, + {150, 1251, _T("Тегусигальпа")}, {150, 2431, lpwszOther}, - {151, 1252, TEXT("Сент-Джорджес")}, + {151, 1252, _T("Сент-Джорджес")}, {151, 2430, lpwszOther}, - {152, 1253, TEXT("Уманак")}, + {152, 1253, _T("Уманак")}, {152, 2429, lpwszOther}, - {153, 1254, TEXT("Розо")}, + {153, 1254, _T("Розо")}, {153, 2428, lpwszOther}, - {154, 1255, TEXT("Санто-Доминго")}, + {154, 1255, _T("Санто-Доминго")}, {154, 2427, lpwszOther}, - {155, 1256, TEXT("Богота")}, + {155, 1256, _T("Богота")}, {155, 2426, lpwszOther}, - {156, 1257, TEXT("Сан-Хосе")}, + {156, 1257, _T("Сан-Хосе")}, {156, 2425, lpwszOther}, - {157, 1258, TEXT("Гавана")}, + {157, 1258, _T("Гавана")}, {157, 2424, lpwszOther}, - {158, 1259, TEXT("Акапулько")}, - {158, 1260, TEXT("Мехико")}, + {158, 1259, _T("Акапулько")}, + {158, 1260, _T("Мехико")}, {158, 2423, lpwszOther}, - {159, 1261, TEXT("Манагуа")}, + {159, 1261, _T("Манагуа")}, {159, 2422, lpwszOther}, - {160, 1262, TEXT("Панама")}, + {160, 1262, _T("Панама")}, {160, 2421, lpwszOther}, - {161, 1263, TEXT("Асунсьон")}, + {161, 1263, _T("Асунсьон")}, {161, 2420, lpwszOther}, - {162, 1264, TEXT("Лима")}, + {162, 1264, _T("Лима")}, {162, 2419, lpwszOther}, - {163, 1265, TEXT("Сан-Сальвадор")}, + {163, 1265, _T("Сан-Сальвадор")}, {163, 2418, lpwszOther}, - {164, 1266, TEXT("Кингстаун")}, + {164, 1266, _T("Кингстаун")}, {164, 2417, lpwszOther}, - {165, 1267, TEXT("Бастер")}, + {165, 1267, _T("Бастер")}, {165, 2416, lpwszOther}, - {166, 1268, TEXT("Кастри")}, + {166, 1268, _T("Кастри")}, {166, 2415, lpwszOther}, - {167, 1269, TEXT("Парамарибо")}, + {167, 1269, _T("Парамарибо")}, {167, 2414, lpwszOther}, - {168, 1270, TEXT("Порт-оф-Спейн")}, + {168, 1270, _T("Порт-оф-Спейн")}, {168, 2413, lpwszOther}, - {169, 1271, TEXT("Монтевидео")}, + {169, 1271, _T("Монтевидео")}, {169, 2412, lpwszOther}, - {170, 1272, TEXT("Сантьяго")}, + {170, 1272, _T("Сантьяго")}, {170, 2411, lpwszOther}, - {171, 1273, TEXT("Гуаякиль")}, - {171, 1274, TEXT("Кито")}, + {171, 1273, _T("Гуаякиль")}, + {171, 1274, _T("Кито")}, {171, 2410, lpwszOther}, - {172, 1275, TEXT("Кингстон")}, + {172, 1275, _T("Кингстон")}, {172, 2409, lpwszOther}, - {174, 1854, TEXT("Алжир")}, + {174, 1854, _T("Алжир")}, {174, 2495, lpwszOther}, - {175, 1855, TEXT("Луанда")}, + {175, 1855, _T("Луанда")}, {175, 2494, lpwszOther}, - {176, 1856, TEXT("Котону")}, - {176, 1857, TEXT("Порто-Ново")}, + {176, 1856, _T("Котону")}, + {176, 1857, _T("Порто-Ново")}, {176, 2493, lpwszOther}, - {177, 1858, TEXT("Габороне")}, + {177, 1858, _T("Габороне")}, {177, 2492, lpwszOther}, - {178, 1859, TEXT("Уагадугу")}, + {178, 1859, _T("Уагадугу")}, {178, 2491, lpwszOther}, - {179, 1860, TEXT("Бужумбуру")}, + {179, 1860, _T("Бужумбуру")}, {179, 2490, lpwszOther}, - {180, 1861, TEXT("Либревиль")}, + {180, 1861, _T("Либревиль")}, {180, 2489, lpwszOther}, - {181, 1862, TEXT("Банжул")}, + {181, 1862, _T("Банжул")}, {181, 2488, lpwszOther}, - {182, 1863, TEXT("Аккра")}, + {182, 1863, _T("Аккра")}, {182, 2487, lpwszOther}, - {183, 1864, TEXT("Конакри")}, + {183, 1864, _T("Конакри")}, {183, 2486, lpwszOther}, - {184, 1865, TEXT("Бисау")}, + {184, 1865, _T("Бисау")}, {184, 2485, lpwszOther}, - {185, 1866, TEXT("Джибути")}, + {185, 1866, _T("Джибути")}, {185, 2484, lpwszOther}, - {186, 3312, TEXT("Дахаб")}, - {186, 1867, TEXT("Каир")}, - {186, 1868, TEXT("Хургада")}, + {186, 3312, _T("Дахаб")}, + {186, 1867, _T("Каир")}, + {186, 1868, _T("Хургада")}, {186, 2483, lpwszOther}, - {187, 1869, TEXT("Лусака")}, + {187, 1869, _T("Лусака")}, {187, 2482, lpwszOther}, - {23, 1870, TEXT("Хараре")}, + {23, 1870, _T("Хараре")}, {23, 2481, lpwszOther}, - {188, 1871, TEXT("Прая")}, + {188, 1871, _T("Прая")}, {188, 2480, lpwszOther}, - {189, 1872, TEXT("Яунде")}, + {189, 1872, _T("Яунде")}, {189, 2479, lpwszOther}, - {190, 1873, TEXT("Найроби")}, + {190, 1873, _T("Найроби")}, {190, 2478, lpwszOther}, - {191, 1874, TEXT("Морони")}, + {191, 1874, _T("Морони")}, {191, 2477, lpwszOther}, - {193, 1875, TEXT("Киншаса")}, + {193, 1875, _T("Киншаса")}, {193, 2476, lpwszOther}, - {192, 1876, TEXT("Браззавиль")}, + {192, 1876, _T("Браззавиль")}, {192, 2475, lpwszOther}, - {194, 1877, TEXT("Ямусукро")}, + {194, 1877, _T("Ямусукро")}, {194, 2474, lpwszOther}, - {195, 1878, TEXT("Масеру")}, + {195, 1878, _T("Масеру")}, {195, 2473, lpwszOther}, - {196, 1879, TEXT("Монровия")}, + {196, 1879, _T("Монровия")}, {196, 2472, lpwszOther}, - {197, 1880, TEXT("Триполи")}, + {197, 1880, _T("Триполи")}, {197, 2471, lpwszOther}, - {198, 1881, TEXT("Порт-Луи")}, + {198, 1881, _T("Порт-Луи")}, {198, 2470, lpwszOther}, - {199, 1882, TEXT("Нуакшот")}, + {199, 1882, _T("Нуакшот")}, {199, 2469, lpwszOther}, - {200, 1883, TEXT("Антананариву")}, + {200, 1883, _T("Антананариву")}, {200, 2468, lpwszOther}, - {201, 1884, TEXT("Лилонгве")}, + {201, 1884, _T("Лилонгве")}, {201, 2467, lpwszOther}, - {202, 1885, TEXT("Бамако")}, + {202, 1885, _T("Бамако")}, {202, 2466, lpwszOther}, - {203, 1886, TEXT("Агадир")}, - {203, 1887, TEXT("Рабат")}, + {203, 1886, _T("Агадир")}, + {203, 1887, _T("Рабат")}, {203, 2465, lpwszOther}, - {204, 1888, TEXT("Мапуту")}, + {204, 1888, _T("Мапуту")}, {204, 2464, lpwszOther}, - {205, 1889, TEXT("Виндхук")}, + {205, 1889, _T("Виндхук")}, {205, 2463, lpwszOther}, - {206, 1890, TEXT("Ниамей")}, + {206, 1890, _T("Ниамей")}, {206, 2462, lpwszOther}, - {207, 1891, TEXT("Абуджа")}, + {207, 1891, _T("Абуджа")}, {207, 2461, lpwszOther}, - {208, 1892, TEXT("Кигали")}, + {208, 1892, _T("Кигали")}, {208, 2460, lpwszOther}, - {209, 1893, TEXT("Сан-Томе")}, + {209, 1893, _T("Сан-Томе")}, {209, 2459, lpwszOther}, - {210, 1894, TEXT("Мбабане")}, + {210, 1894, _T("Мбабане")}, {210, 2458, lpwszOther}, - {211, 1895, TEXT("Виктория")}, + {211, 1895, _T("Виктория")}, {211, 2457, lpwszOther}, - {212, 1896, TEXT("Дакар")}, + {212, 1896, _T("Дакар")}, {212, 2456, lpwszOther}, - {213, 1897, TEXT("Могадишо")}, + {213, 1897, _T("Могадишо")}, {213, 2455, lpwszOther}, - {214, 1898, TEXT("Хартум")}, + {214, 1898, _T("Хартум")}, {214, 2454, lpwszOther}, - {215, 1899, TEXT("Фритаун")}, + {215, 1899, _T("Фритаун")}, {215, 2453, lpwszOther}, - {216, 1900, TEXT("Дар-эс-Салам")}, - {216, 1901, TEXT("Додома")}, + {216, 1900, _T("Дар-эс-Салам")}, + {216, 1901, _T("Додома")}, {216, 2452, lpwszOther}, - {217, 1902, TEXT("Ломе")}, + {217, 1902, _T("Ломе")}, {217, 2451, lpwszOther}, - {218, 1903, TEXT("Тунис")}, + {218, 1903, _T("Тунис")}, {218, 2450, lpwszOther}, - {219, 1904, TEXT("Кампала")}, + {219, 1904, _T("Кампала")}, {219, 2449, lpwszOther}, - {220, 1905, TEXT("Банги")}, + {220, 1905, _T("Банги")}, {220, 2448, lpwszOther}, - {222, 1906, TEXT("Нджамена")}, + {222, 1906, _T("Нджамена")}, {222, 2447, lpwszOther}, - {223, 1907, TEXT("Малабо")}, + {223, 1907, _T("Малабо")}, {223, 2446, lpwszOther}, - {221, 1908, TEXT("Асмэра")}, + {221, 1908, _T("Асмэра")}, {221, 2445, lpwszOther}, - {224, 1909, TEXT("Аддис-Абеба")}, + {224, 1909, _T("Аддис-Абеба")}, {224, 2444, lpwszOther}, - {225, 1910, TEXT("Дурбан")}, - {225, 1913, TEXT("Йоханнесбург")}, - {225, 1912, TEXT("Кейптаун")}, - {225, 3033, TEXT("Пайнтаун")}, - {225, 1911, TEXT("Претория")}, + {225, 1910, _T("Дурбан")}, + {225, 1913, _T("Йоханнесбург")}, + {225, 1912, _T("Кейптаун")}, + {225, 3033, _T("Пайнтаун")}, + {225, 1911, _T("Претория")}, {225, 2443, lpwszOther}, - {39, 314, TEXT("Киев")}, - {39, 315, TEXT("Винницкая обл.")}, - {39, 316, TEXT("Волынская обл.")}, - {39, 317, TEXT("Днепропетровская обл.")}, - {39, 318, TEXT("Донецкая обл.")}, - {39, 319, TEXT("Житомирская обл.")}, - {39, 320, TEXT("Закарпатская обл.")}, - {39, 321, TEXT("Запорожская обл.")}, - {39, 322, TEXT("Ивано-Франковская обл.")}, - {39, 323, TEXT("Киевская обл.")}, - {39, 324, TEXT("Кировоградская обл.")}, - {39, 325, TEXT("Крым")}, - {39, 326, TEXT("Луганская обл.")}, - {39, 327, TEXT("Львовская обл.")}, - {39, 328, TEXT("Николаевская обл.")}, - {39, 329, TEXT("Одесская обл.")}, - {39, 330, TEXT("Полтавская обл.")}, - {39, 331, TEXT("Ровенская обл.")}, - {39, 332, TEXT("Сумская обл.")}, - {39, 333, TEXT("Тернопольская обл.")}, - {39, 334, TEXT("Харьковская обл.")}, - {39, 335, TEXT("Херсонская обл.")}, - {39, 336, TEXT("Хмельницкая обл.")}, - {39, 337, TEXT("Черкасская обл.")}, - {39, 338, TEXT("Черниговская обл.")}, - {39, 339, TEXT("Черновицкая обл.")}, - {40, 602, TEXT("Бад Халл")}, - {40, 604, TEXT("Брегенц")}, - {40, 603, TEXT("Вена")}, - {40, 608, TEXT("Грац")}, - {40, 606, TEXT("Зальцбург")}, - {40, 3099, TEXT("Зель-ам-Зее")}, - {40, 605, TEXT("Инсбрук")}, - {40, 3174, TEXT("Кирхберг")}, - {40, 609, TEXT("Клагенфурт")}, - {40, 607, TEXT("Линц")}, - {40, 610, TEXT("Обдах")}, - {40, 611, TEXT("Щтубайтал")}, + {39, 314, _T("Киев")}, + {39, 315, _T("Винницкая обл.")}, + {39, 316, _T("Волынская обл.")}, + {39, 317, _T("Днепропетровская обл.")}, + {39, 318, _T("Донецкая обл.")}, + {39, 319, _T("Житомирская обл.")}, + {39, 320, _T("Закарпатская обл.")}, + {39, 321, _T("Запорожская обл.")}, + {39, 322, _T("Ивано-Франковская обл.")}, + {39, 323, _T("Киевская обл.")}, + {39, 324, _T("Кировоградская обл.")}, + {39, 325, _T("Крым")}, + {39, 326, _T("Луганская обл.")}, + {39, 327, _T("Львовская обл.")}, + {39, 328, _T("Николаевская обл.")}, + {39, 329, _T("Одесская обл.")}, + {39, 330, _T("Полтавская обл.")}, + {39, 331, _T("Ровенская обл.")}, + {39, 332, _T("Сумская обл.")}, + {39, 333, _T("Тернопольская обл.")}, + {39, 334, _T("Харьковская обл.")}, + {39, 335, _T("Херсонская обл.")}, + {39, 336, _T("Хмельницкая обл.")}, + {39, 337, _T("Черкасская обл.")}, + {39, 338, _T("Черниговская обл.")}, + {39, 339, _T("Черновицкая обл.")}, + {40, 602, _T("Бад Халл")}, + {40, 604, _T("Брегенц")}, + {40, 603, _T("Вена")}, + {40, 608, _T("Грац")}, + {40, 606, _T("Зальцбург")}, + {40, 3099, _T("Зель-ам-Зее")}, + {40, 605, _T("Инсбрук")}, + {40, 3174, _T("Кирхберг")}, + {40, 609, _T("Клагенфурт")}, + {40, 607, _T("Линц")}, + {40, 610, _T("Обдах")}, + {40, 611, _T("Щтубайтал")}, {40, 2541, lpwszOther}, - {32, 612, TEXT("Тирана")}, + {32, 612, _T("Тирана")}, {32, 2540, lpwszOther}, - {33, 613, TEXT("Андорра-ла-Велья")}, + {33, 613, _T("Андорра-ла-Велья")}, {33, 2539, lpwszOther}, - {340, 341, TEXT("Минск")}, - {340, 342, TEXT("Брестская обл.")}, - {340, 343, TEXT("Витебская обл.")}, - {340, 344, TEXT("Гомельская обл.")}, - {340, 345, TEXT("Гродненская обл.")}, - {340, 346, TEXT("Минская обл.")}, - {340, 347, TEXT("Могилевская обл.")}, - {38, 760, TEXT("Антверпен")}, - {38, 767, TEXT("Арлон")}, - {38, 762, TEXT("Брюгге")}, - {38, 761, TEXT("Брюссель")}, - {38, 763, TEXT("Гент")}, - {38, 769, TEXT("Лувен")}, - {38, 765, TEXT("Льеж")}, - {38, 764, TEXT("Монс")}, - {38, 3117, TEXT("Мортсель")}, - {38, 766, TEXT("Намюр")}, - {38, 768, TEXT("Хасселт")}, + {340, 341, _T("Минск")}, + {340, 342, _T("Брестская обл.")}, + {340, 343, _T("Витебская обл.")}, + {340, 344, _T("Гомельская обл.")}, + {340, 345, _T("Гродненская обл.")}, + {340, 346, _T("Минская обл.")}, + {340, 347, _T("Могилевская обл.")}, + {38, 760, _T("Антверпен")}, + {38, 767, _T("Арлон")}, + {38, 762, _T("Брюгге")}, + {38, 761, _T("Брюссель")}, + {38, 763, _T("Гент")}, + {38, 769, _T("Лувен")}, + {38, 765, _T("Льеж")}, + {38, 764, _T("Монс")}, + {38, 3117, _T("Мортсель")}, + {38, 766, _T("Намюр")}, + {38, 768, _T("Хасселт")}, {38, 2532, lpwszOther}, - {41, 3098, TEXT("Банско")}, - {41, 792, TEXT("Благоевград")}, - {41, 770, TEXT("Бургас")}, - {41, 771, TEXT("Бяла")}, - {41, 773, TEXT("Варна")}, - {41, 776, TEXT("Велико-Тырново")}, - {41, 788, TEXT("Видин")}, - {41, 789, TEXT("Враца")}, - {41, 796, TEXT("Габрово")}, - {41, 777, TEXT("Димитровград")}, - {41, 781, TEXT("Каварна")}, - {41, 786, TEXT("Кырджали")}, - {41, 791, TEXT("Кюстендил")}, - {41, 793, TEXT("Лазарджик")}, - {41, 795, TEXT("Ловеч")}, - {41, 787, TEXT("Михайловград")}, - {41, 790, TEXT("Перник")}, - {41, 3133, TEXT("Пирдоп")}, - {41, 794, TEXT("Плевен")}, - {41, 782, TEXT("Пловдив")}, - {41, 780, TEXT("Разград")}, - {41, 779, TEXT("Русе")}, - {41, 774, TEXT("Силистра")}, - {41, 784, TEXT("Сливен")}, - {41, 772, TEXT("София")}, - {41, 775, TEXT("Толбухин")}, - {41, 3116, TEXT("Тырново")}, - {41, 785, TEXT("Хасково")}, - {41, 778, TEXT("Шумен")}, - {41, 783, TEXT("Ямбол")}, + {41, 3098, _T("Банско")}, + {41, 792, _T("Благоевград")}, + {41, 770, _T("Бургас")}, + {41, 771, _T("Бяла")}, + {41, 773, _T("Варна")}, + {41, 776, _T("Велико-Тырново")}, + {41, 788, _T("Видин")}, + {41, 789, _T("Враца")}, + {41, 796, _T("Габрово")}, + {41, 777, _T("Димитровград")}, + {41, 781, _T("Каварна")}, + {41, 786, _T("Кырджали")}, + {41, 791, _T("Кюстендил")}, + {41, 793, _T("Лазарджик")}, + {41, 795, _T("Ловеч")}, + {41, 787, _T("Михайловград")}, + {41, 790, _T("Перник")}, + {41, 3133, _T("Пирдоп")}, + {41, 794, _T("Плевен")}, + {41, 782, _T("Пловдив")}, + {41, 780, _T("Разград")}, + {41, 779, _T("Русе")}, + {41, 774, _T("Силистра")}, + {41, 784, _T("Сливен")}, + {41, 772, _T("София")}, + {41, 775, _T("Толбухин")}, + {41, 3116, _T("Тырново")}, + {41, 785, _T("Хасково")}, + {41, 778, _T("Шумен")}, + {41, 783, _T("Ямбол")}, {41, 2531, lpwszOther}, - {42, 797, TEXT("Баня-Лука")}, - {42, 799, TEXT("Зеница")}, - {42, 798, TEXT("Сараево")}, - {42, 800, TEXT("Тузла")}, + {42, 797, _T("Баня-Лука")}, + {42, 799, _T("Зеница")}, + {42, 798, _T("Сараево")}, + {42, 800, _T("Тузла")}, {42, 2530, lpwszOther}, - {45, 802, TEXT("Абердин")}, - {45, 3075, TEXT("Айслворт")}, - {45, 801, TEXT("Алнвик")}, - {45, 804, TEXT("Бидефорд")}, - {45, 803, TEXT("Бирмингем")}, - {45, 805, TEXT("Блоксвич")}, - {45, 3168, TEXT("Бостон")}, - {45, 806, TEXT("Брайтон")}, - {45, 807, TEXT("Бредфорд")}, - {45, 808, TEXT("Бристоль")}, - {45, 809, TEXT("Вилленхолл")}, - {45, 3131, TEXT("Воррингтон")}, - {45, 810, TEXT("Вудбридж")}, - {45, 3342, TEXT("Гилфорд")}, - {45, 811, TEXT("Глазго")}, - {45, 812, TEXT("Дадли")}, - {45, 813, TEXT("Дарем")}, - {45, 814, TEXT("Дуглас")}, - {45, 3089, TEXT("Кардиф")}, - {45, 815, TEXT("Кембридж")}, - {45, 816, TEXT("Кентербери")}, - {45, 817, TEXT("Ливерпуль")}, - {45, 818, TEXT("Лидс")}, - {45, 819, TEXT("Лондон")}, - {45, 820, TEXT("Манчестер")}, - {45, 2976, TEXT("Митчем")}, - {45, 2988, TEXT("Мэйденхед")}, - {45, 821, TEXT("Ноттингем")}, - {45, 3088, TEXT("Ньюпорт")}, - {45, 822, TEXT("Оксфорд")}, - {45, 823, TEXT("Плимут")}, - {45, 824, TEXT("Портсмут")}, - {45, 825, TEXT("Престон")}, - {45, 3343, TEXT("Райд")}, - {45, 2867, TEXT("Ридинг")}, - {45, 2986, TEXT("Сент-Албанс")}, - {45, 826, TEXT("Стаффорд")}, - {45, 3063, TEXT("Стокпорт")}, - {45, 827, TEXT("Уэймут")}, - {45, 3140, TEXT("Челтенхэм")}, - {45, 828, TEXT("Честер")}, - {45, 829, TEXT("Шеффилд")}, - {45, 830, TEXT("Эдинбург")}, + {45, 802, _T("Абердин")}, + {45, 3075, _T("Айслворт")}, + {45, 801, _T("Алнвик")}, + {45, 804, _T("Бидефорд")}, + {45, 803, _T("Бирмингем")}, + {45, 805, _T("Блоксвич")}, + {45, 3168, _T("Бостон")}, + {45, 806, _T("Брайтон")}, + {45, 807, _T("Бредфорд")}, + {45, 808, _T("Бристоль")}, + {45, 809, _T("Вилленхолл")}, + {45, 3131, _T("Воррингтон")}, + {45, 810, _T("Вудбридж")}, + {45, 3342, _T("Гилфорд")}, + {45, 811, _T("Глазго")}, + {45, 812, _T("Дадли")}, + {45, 813, _T("Дарем")}, + {45, 814, _T("Дуглас")}, + {45, 3089, _T("Кардиф")}, + {45, 815, _T("Кембридж")}, + {45, 816, _T("Кентербери")}, + {45, 817, _T("Ливерпуль")}, + {45, 818, _T("Лидс")}, + {45, 819, _T("Лондон")}, + {45, 820, _T("Манчестер")}, + {45, 2976, _T("Митчем")}, + {45, 2988, _T("Мэйденхед")}, + {45, 821, _T("Ноттингем")}, + {45, 3088, _T("Ньюпорт")}, + {45, 822, _T("Оксфорд")}, + {45, 823, _T("Плимут")}, + {45, 824, _T("Портсмут")}, + {45, 825, _T("Престон")}, + {45, 3343, _T("Райд")}, + {45, 2867, _T("Ридинг")}, + {45, 2986, _T("Сент-Албанс")}, + {45, 826, _T("Стаффорд")}, + {45, 3063, _T("Стокпорт")}, + {45, 827, _T("Уэймут")}, + {45, 3140, _T("Челтенхэм")}, + {45, 828, _T("Честер")}, + {45, 829, _T("Шеффилд")}, + {45, 830, _T("Эдинбург")}, {45, 2529, lpwszOther}, - {44, 831, TEXT("Будапешт")}, - {44, 832, TEXT("Геделле")}, - {44, 836, TEXT("Дебрецен")}, - {44, 835, TEXT("Мишкольц")}, - {44, 834, TEXT("Сегед")}, - {44, 833, TEXT("Шиофок")}, + {44, 831, _T("Будапешт")}, + {44, 832, _T("Геделле")}, + {44, 836, _T("Дебрецен")}, + {44, 835, _T("Мишкольц")}, + {44, 834, _T("Сегед")}, + {44, 833, _T("Шиофок")}, {44, 2528, lpwszOther}, - {46, 3007, TEXT("Аахен")}, - {46, 837, TEXT("Аугсбург")}, - {46, 838, TEXT("Баден-Баден")}, - {46, 3371, TEXT("Бамберг")}, - {46, 839, TEXT("Бергиш-Гладбах")}, - {46, 840, TEXT("Берлин")}, - {46, 841, TEXT("Билефельд")}, - {46, 3163, TEXT("Бовенден")}, - {46, 842, TEXT("Бонн")}, - {46, 843, TEXT("Браденбург")}, - {46, 3015, TEXT("Брауншвейг")}, - {46, 844, TEXT("Бремен")}, - {46, 2921, TEXT("Варштайн")}, - {46, 845, TEXT("Веймар")}, - {46, 846, TEXT("Вупперталь")}, - {46, 847, TEXT("Гамбург")}, - {46, 848, TEXT("Ганновер")}, - {46, 849, TEXT("Гарделеген")}, - {46, 3010, TEXT("Гейдельберг")}, - {46, 850, TEXT("Гота")}, - {46, 851, TEXT("Дармштадт")}, - {46, 3072, TEXT("Дессау")}, - {46, 852, TEXT("Детмольд")}, - {46, 853, TEXT("Дортмунд")}, - {46, 854, TEXT("Дрезден")}, - {46, 855, TEXT("Дюссельдорф")}, - {46, 3082, TEXT("Иффецхайм")}, - {46, 3309, TEXT("Кассел")}, - {46, 856, TEXT("Кельн")}, - {46, 857, TEXT("Киль")}, - {46, 3138, TEXT("Кобленц")}, - {46, 858, TEXT("Крефельд")}, - {46, 859, TEXT("Лейпциг")}, - {46, 2872, TEXT("Лимбург")}, - {46, 2965, TEXT("Линген")}, - {46, 3135, TEXT("Любек")}, - {46, 3156, TEXT("Мангейм")}, - {46, 3192, TEXT("Меерсбург")}, - {46, 860, TEXT("Мюнстер")}, - {46, 861, TEXT("Мюнхен")}, - {46, 2864, TEXT("Нойштадт")}, - {46, 862, TEXT("Нюрнберг")}, - {46, 3009, TEXT("Оффенбург")}, - {46, 2993, TEXT("Падерборн")}, - {46, 863, TEXT("Равенсбург")}, - {46, 864, TEXT("Регенсбург")}, - {46, 865, TEXT("Рейнен")}, - {46, 866, TEXT("Росток")}, - {46, 3191, TEXT("Саарбрюкен")}, - {46, 2974, TEXT("Санкт-Августин")}, - {46, 3127, TEXT("Тюринген")}, - {46, 867, TEXT("Фрайберг")}, - {46, 868, TEXT("Фрайбург")}, - {46, 869, TEXT("Франкфурт-на-Майне")}, - {46, 3373, TEXT("Хемнитц")}, - {46, 3313, TEXT("Хильден")}, - {46, 870, TEXT("Штутгарт")}, - {46, 3045, TEXT("Эрланген")}, - {46, 2906, TEXT("Эшборн")}, + {46, 3007, _T("Аахен")}, + {46, 837, _T("Аугсбург")}, + {46, 838, _T("Баден-Баден")}, + {46, 3371, _T("Бамберг")}, + {46, 839, _T("Бергиш-Гладбах")}, + {46, 840, _T("Берлин")}, + {46, 841, _T("Билефельд")}, + {46, 3163, _T("Бовенден")}, + {46, 842, _T("Бонн")}, + {46, 843, _T("Браденбург")}, + {46, 3015, _T("Брауншвейг")}, + {46, 844, _T("Бремен")}, + {46, 2921, _T("Варштайн")}, + {46, 845, _T("Веймар")}, + {46, 846, _T("Вупперталь")}, + {46, 847, _T("Гамбург")}, + {46, 848, _T("Ганновер")}, + {46, 849, _T("Гарделеген")}, + {46, 3010, _T("Гейдельберг")}, + {46, 850, _T("Гота")}, + {46, 851, _T("Дармштадт")}, + {46, 3072, _T("Дессау")}, + {46, 852, _T("Детмольд")}, + {46, 853, _T("Дортмунд")}, + {46, 854, _T("Дрезден")}, + {46, 855, _T("Дюссельдорф")}, + {46, 3082, _T("Иффецхайм")}, + {46, 3309, _T("Кассел")}, + {46, 856, _T("Кельн")}, + {46, 857, _T("Киль")}, + {46, 3138, _T("Кобленц")}, + {46, 858, _T("Крефельд")}, + {46, 859, _T("Лейпциг")}, + {46, 2872, _T("Лимбург")}, + {46, 2965, _T("Линген")}, + {46, 3135, _T("Любек")}, + {46, 3156, _T("Мангейм")}, + {46, 3192, _T("Меерсбург")}, + {46, 860, _T("Мюнстер")}, + {46, 861, _T("Мюнхен")}, + {46, 2864, _T("Нойштадт")}, + {46, 862, _T("Нюрнберг")}, + {46, 3009, _T("Оффенбург")}, + {46, 2993, _T("Падерборн")}, + {46, 863, _T("Равенсбург")}, + {46, 864, _T("Регенсбург")}, + {46, 865, _T("Рейнен")}, + {46, 866, _T("Росток")}, + {46, 3191, _T("Саарбрюкен")}, + {46, 2974, _T("Санкт-Августин")}, + {46, 3127, _T("Тюринген")}, + {46, 867, _T("Фрайберг")}, + {46, 868, _T("Фрайбург")}, + {46, 869, _T("Франкфурт-на-Майне")}, + {46, 3373, _T("Хемнитц")}, + {46, 3313, _T("Хильден")}, + {46, 870, _T("Штутгарт")}, + {46, 3045, _T("Эрланген")}, + {46, 2906, _T("Эшборн")}, {46, 2527, lpwszOther}, - {48, 871, TEXT("Афины")}, - {48, 873, TEXT("Ираклион")}, - {48, 3147, TEXT("Корфу")}, - {48, 872, TEXT("Салоники")}, - {48, 3178, TEXT("Халкидики")}, + {48, 871, _T("Афины")}, + {48, 873, _T("Ираклион")}, + {48, 3147, _T("Корфу")}, + {48, 872, _T("Салоники")}, + {48, 3178, _T("Халкидики")}, {48, 2526, lpwszOther}, - {49, 3006, TEXT("Архус")}, - {49, 874, TEXT("Копенгаген")}, - {49, 875, TEXT("Оденсе")}, - {49, 3285, TEXT("Ольборг")}, - {49, 876, TEXT("Сванеке")}, - {49, 3126, TEXT("Скиве")}, + {49, 3006, _T("Архус")}, + {49, 874, _T("Копенгаген")}, + {49, 875, _T("Оденсе")}, + {49, 3285, _T("Ольборг")}, + {49, 876, _T("Сванеке")}, + {49, 3126, _T("Скиве")}, {49, 2525, lpwszOther}, - {50, 3377, TEXT("Виклоу")}, - {50, 3067, TEXT("Голвей")}, - {50, 877, TEXT("Дублин")}, - {50, 3065, TEXT("Килларней")}, - {50, 3066, TEXT("Корк")}, - {50, 878, TEXT("Лимерик")}, - {50, 3069, TEXT("Нейс")}, - {50, 3068, TEXT("Типперэри")}, + {50, 3377, _T("Виклоу")}, + {50, 3067, _T("Голвей")}, + {50, 877, _T("Дублин")}, + {50, 3065, _T("Килларней")}, + {50, 3066, _T("Корк")}, + {50, 878, _T("Лимерик")}, + {50, 3069, _T("Нейс")}, + {50, 3068, _T("Типперэри")}, {50, 2524, lpwszOther}, - {51, 879, TEXT("Рейкьявик")}, + {51, 879, _T("Рейкьявик")}, {51, 2523, lpwszOther}, - {34, 880, TEXT("Аликанте")}, - {34, 3125, TEXT("Альмерия")}, - {34, 881, TEXT("Барселона")}, - {34, 890, TEXT("Бильбао")}, - {34, 3076, TEXT("Бланес")}, - {34, 882, TEXT("Валенсия")}, - {34, 3070, TEXT("Ибица")}, - {34, 888, TEXT("Кадис")}, - {34, 886, TEXT("Картахена")}, - {34, 891, TEXT("Ла-Корунья")}, - {34, 3310, TEXT("Лорет де Мар")}, - {34, 883, TEXT("Мадрид")}, - {34, 884, TEXT("Малага")}, - {34, 885, TEXT("Марбелья")}, - {34, 892, TEXT("Овьедо")}, - {34, 3179, TEXT("Пальма де Майорка")}, - {34, 3177, TEXT("Сан-Агустин")}, - {34, 3289, TEXT("Санта-Крус-де-Тенерифе")}, - {34, 889, TEXT("Сарагоса")}, - {34, 887, TEXT("Севилья")}, - {34, 893, TEXT("Хихон")}, + {34, 880, _T("Аликанте")}, + {34, 3125, _T("Альмерия")}, + {34, 881, _T("Барселона")}, + {34, 890, _T("Бильбао")}, + {34, 3076, _T("Бланес")}, + {34, 882, _T("Валенсия")}, + {34, 3070, _T("Ибица")}, + {34, 888, _T("Кадис")}, + {34, 886, _T("Картахена")}, + {34, 891, _T("Ла-Корунья")}, + {34, 3310, _T("Лорет де Мар")}, + {34, 883, _T("Мадрид")}, + {34, 884, _T("Малага")}, + {34, 885, _T("Марбелья")}, + {34, 892, _T("Овьедо")}, + {34, 3179, _T("Пальма де Майорка")}, + {34, 3177, _T("Сан-Агустин")}, + {34, 3289, _T("Санта-Крус-де-Тенерифе")}, + {34, 889, _T("Сарагоса")}, + {34, 887, _T("Севилья")}, + {34, 893, _T("Хихон")}, {34, 2522, lpwszOther}, - {52, 3318, TEXT("Аоста")}, - {52, 3278, TEXT("Беллариа")}, - {52, 906, TEXT("Болонья")}, - {52, 894, TEXT("Брешиа")}, - {52, 895, TEXT("Венеция")}, - {52, 905, TEXT("Верона")}, - {52, 896, TEXT("Генуя")}, - {52, 897, TEXT("Лекко")}, - {52, 3369, TEXT("Ливорно")}, - {52, 3327, TEXT("Марсала")}, - {52, 898, TEXT("Милан")}, - {52, 899, TEXT("Модена")}, - {52, 907, TEXT("Неаполь")}, - {52, 908, TEXT("Перуджа")}, - {52, 900, TEXT("Пиза")}, - {52, 901, TEXT("Рим")}, - {52, 3368, TEXT("Сан-Ремо")}, - {52, 3384, TEXT("Сиракуза")}, - {52, 3252, TEXT("Терамо")}, - {52, 902, TEXT("Триест")}, - {52, 903, TEXT("Турин")}, - {52, 3130, TEXT("Фано")}, - {52, 904, TEXT("Флоренция")}, + {52, 3318, _T("Аоста")}, + {52, 3278, _T("Беллариа")}, + {52, 906, _T("Болонья")}, + {52, 894, _T("Брешиа")}, + {52, 895, _T("Венеция")}, + {52, 905, _T("Верона")}, + {52, 896, _T("Генуя")}, + {52, 897, _T("Лекко")}, + {52, 3369, _T("Ливорно")}, + {52, 3327, _T("Марсала")}, + {52, 898, _T("Милан")}, + {52, 899, _T("Модена")}, + {52, 907, _T("Неаполь")}, + {52, 908, _T("Перуджа")}, + {52, 900, _T("Пиза")}, + {52, 901, _T("Рим")}, + {52, 3368, _T("Сан-Ремо")}, + {52, 3384, _T("Сиракуза")}, + {52, 3252, _T("Терамо")}, + {52, 902, _T("Триест")}, + {52, 903, _T("Турин")}, + {52, 3130, _T("Фано")}, + {52, 904, _T("Флоренция")}, {52, 2521, lpwszOther}, - {53, 2939, TEXT("Айзкраукле")}, - {53, 3054, TEXT("Валка")}, - {53, 909, TEXT("Даугавпилс")}, - {53, 2934, TEXT("Екабпилс")}, - {53, 913, TEXT("Елгава")}, - {53, 2935, TEXT("Кокнесе")}, - {53, 912, TEXT("Лиепая")}, - {53, 2905, TEXT("Резекне")}, - {53, 911, TEXT("Рига")}, - {53, 2936, TEXT("Саласпилс")}, - {53, 2937, TEXT("Смилтене")}, - {53, 910, TEXT("Юрмала")}, + {53, 2939, _T("Айзкраукле")}, + {53, 3054, _T("Валка")}, + {53, 909, _T("Даугавпилс")}, + {53, 2934, _T("Екабпилс")}, + {53, 913, _T("Елгава")}, + {53, 2935, _T("Кокнесе")}, + {53, 912, _T("Лиепая")}, + {53, 2905, _T("Резекне")}, + {53, 911, _T("Рига")}, + {53, 2936, _T("Саласпилс")}, + {53, 2937, _T("Смилтене")}, + {53, 910, _T("Юрмала")}, {53, 2520, lpwszOther}, - {54, 914, TEXT("Вильнюс")}, - {54, 915, TEXT("Висагинас")}, - {54, 916, TEXT("Каунас")}, - {54, 918, TEXT("Клайпеда")}, - {54, 919, TEXT("Паланга")}, - {54, 3173, TEXT("Пеневежис")}, - {54, 917, TEXT("Шауляй")}, + {54, 914, _T("Вильнюс")}, + {54, 915, _T("Висагинас")}, + {54, 916, _T("Каунас")}, + {54, 918, _T("Клайпеда")}, + {54, 919, _T("Паланга")}, + {54, 3173, _T("Пеневежис")}, + {54, 917, _T("Шауляй")}, {54, 2519, lpwszOther}, - {55, 920, TEXT("Вадуц")}, + {55, 920, _T("Вадуц")}, {55, 2518, lpwszOther}, - {56, 3376, TEXT("Бетцдорф")}, - {56, 921, TEXT("Люксембург")}, + {56, 3376, _T("Бетцдорф")}, + {56, 921, _T("Люксембург")}, {56, 2517, lpwszOther}, - {57, 3142, TEXT("Битола")}, - {57, 922, TEXT("Скопье")}, + {57, 3142, _T("Битола")}, + {57, 922, _T("Скопье")}, {57, 2516, lpwszOther}, - {58, 923, TEXT("Валлетта")}, - {58, 3154, TEXT("Мзида")}, - {58, 924, TEXT("Слима")}, + {58, 923, _T("Валлетта")}, + {58, 3154, _T("Мзида")}, + {58, 924, _T("Слима")}, {58, 2515, lpwszOther}, - {59, 925, TEXT("Бельцы")}, - {59, 926, TEXT("Бендеры")}, - {59, 3234, TEXT("Дубоссары")}, - {59, 3275, TEXT("Кахул")}, - {59, 927, TEXT("Кишинев")}, - {59, 3321, TEXT("Резина")}, - {59, 928, TEXT("Рыбница")}, - {59, 929, TEXT("Тирасполь")}, - {59, 3281, TEXT("Чадыр-Лунга")}, + {59, 925, _T("Бельцы")}, + {59, 926, _T("Бендеры")}, + {59, 3234, _T("Дубоссары")}, + {59, 3275, _T("Кахул")}, + {59, 927, _T("Кишинев")}, + {59, 3321, _T("Резина")}, + {59, 928, _T("Рыбница")}, + {59, 929, _T("Тирасполь")}, + {59, 3281, _T("Чадыр-Лунга")}, {59, 2514, lpwszOther}, - {36, 930, TEXT("Монте-Карло")}, + {36, 930, _T("Монте-Карло")}, {36, 2513, lpwszOther}, - {60, 931, TEXT("Амстердам")}, - {60, 933, TEXT("Бреда")}, - {60, 932, TEXT("Гаага")}, - {60, 934, TEXT("Гауда")}, - {60, 935, TEXT("Делфт")}, - {60, 2977, TEXT("Донген")}, - {60, 3030, TEXT("Зволле")}, - {60, 3091, TEXT("Ниймеген")}, - {60, 936, TEXT("Роттердам")}, - {60, 937, TEXT("Утрехт")}, - {60, 3044, TEXT("Эйндховен")}, - {60, 3380, TEXT("Эншеде")}, + {60, 931, _T("Амстердам")}, + {60, 933, _T("Бреда")}, + {60, 932, _T("Гаага")}, + {60, 934, _T("Гауда")}, + {60, 935, _T("Делфт")}, + {60, 2977, _T("Донген")}, + {60, 3030, _T("Зволле")}, + {60, 3091, _T("Ниймеген")}, + {60, 936, _T("Роттердам")}, + {60, 937, _T("Утрехт")}, + {60, 3044, _T("Эйндховен")}, + {60, 3380, _T("Эншеде")}, {60, 2512, lpwszOther}, - {61, 3190, TEXT("Кристиансанд")}, - {61, 2857, TEXT("Лиллехаммер")}, - {61, 938, TEXT("Осло")}, - {61, 3355, TEXT("Ставангер")}, - {61, 939, TEXT("Тронхейм")}, + {61, 3190, _T("Кристиансанд")}, + {61, 2857, _T("Лиллехаммер")}, + {61, 938, _T("Осло")}, + {61, 3355, _T("Ставангер")}, + {61, 939, _T("Тронхейм")}, {61, 2511, lpwszOther}, - {62, 940, TEXT("Белосток")}, - {62, 941, TEXT("Варшава")}, - {62, 3164, TEXT("Вроцлав")}, - {62, 942, TEXT("Гданьск")}, - {62, 943, TEXT("Гливице")}, - {62, 3237, TEXT("Закопане")}, - {62, 3165, TEXT("Зелена Гура")}, - {62, 944, TEXT("Катовице")}, - {62, 945, TEXT("Краков")}, - {62, 3008, TEXT("Лодзь")}, - {62, 3150, TEXT("Ольштын")}, - {62, 946, TEXT("Познань")}, - {62, 947, TEXT("Радом")}, - {62, 948, TEXT("Сопот")}, - {62, 2958, TEXT("Тыхы")}, + {62, 940, _T("Белосток")}, + {62, 941, _T("Варшава")}, + {62, 3164, _T("Вроцлав")}, + {62, 942, _T("Гданьск")}, + {62, 943, _T("Гливице")}, + {62, 3237, _T("Закопане")}, + {62, 3165, _T("Зелена Гура")}, + {62, 944, _T("Катовице")}, + {62, 945, _T("Краков")}, + {62, 3008, _T("Лодзь")}, + {62, 3150, _T("Ольштын")}, + {62, 946, _T("Познань")}, + {62, 947, _T("Радом")}, + {62, 948, _T("Сопот")}, + {62, 2958, _T("Тыхы")}, {62, 2510, lpwszOther}, - {35, 949, TEXT("Лиссабон")}, - {35, 950, TEXT("Порто")}, + {35, 949, _T("Лиссабон")}, + {35, 950, _T("Порто")}, {35, 2509, lpwszOther}, - {63, 952, TEXT("Брашов")}, - {63, 951, TEXT("Бухарест")}, - {63, 954, TEXT("Констанца")}, - {63, 955, TEXT("Плоешти")}, - {63, 953, TEXT("Яссы")}, + {63, 952, _T("Брашов")}, + {63, 951, _T("Бухарест")}, + {63, 954, _T("Констанца")}, + {63, 955, _T("Плоешти")}, + {63, 953, _T("Яссы")}, {63, 2508, lpwszOther}, - {64, 956, TEXT("Сан-Марино")}, + {64, 956, _T("Сан-Марино")}, {64, 2507, lpwszOther}, - {74, 957, TEXT("Белград")}, - {74, 960, TEXT("Ниш")}, - {74, 958, TEXT("Нови-Сад")}, - {74, 959, TEXT("Сараево")}, + {74, 957, _T("Белград")}, + {74, 960, _T("Ниш")}, + {74, 958, _T("Нови-Сад")}, + {74, 959, _T("Сараево")}, {74, 2506, lpwszOther}, - {65, 961, TEXT("Братислава")}, - {65, 962, TEXT("Кошице")}, - {65, 3101, TEXT("Липтов")}, - {65, 963, TEXT("Попрад")}, - {65, 964, TEXT("Прешов")}, - {65, 965, TEXT("Ружемберок")}, - {65, 966, TEXT("Тврдошин")}, + {65, 961, _T("Братислава")}, + {65, 962, _T("Кошице")}, + {65, 3101, _T("Липтов")}, + {65, 963, _T("Попрад")}, + {65, 964, _T("Прешов")}, + {65, 965, _T("Ружемберок")}, + {65, 966, _T("Тврдошин")}, {65, 2505, lpwszOther}, - {66, 968, TEXT("Копар")}, - {66, 967, TEXT("Любляна")}, - {66, 969, TEXT("Марибор")}, + {66, 968, _T("Копар")}, + {66, 967, _T("Любляна")}, + {66, 969, _T("Марибор")}, {66, 2504, lpwszOther}, - {67, 970, TEXT("Торсхавн")}, + {67, 970, _T("Торсхавн")}, {67, 2503, lpwszOther}, - {68, 2888, TEXT("Вантаа")}, - {68, 971, TEXT("Васа")}, - {68, 979, TEXT("Котка")}, - {68, 972, TEXT("Коувола")}, - {68, 980, TEXT("Лахти")}, - {68, 973, TEXT("Оулу")}, - {68, 3375, TEXT("Риихимяки")}, - {68, 3159, TEXT("Руовеси")}, - {68, 974, TEXT("Тампере")}, - {68, 975, TEXT("Турку")}, - {68, 976, TEXT("Хельсинки")}, - {68, 977, TEXT("Эспо")}, - {68, 978, TEXT("Ювяскюля")}, + {68, 2888, _T("Вантаа")}, + {68, 971, _T("Васа")}, + {68, 979, _T("Котка")}, + {68, 972, _T("Коувола")}, + {68, 980, _T("Лахти")}, + {68, 973, _T("Оулу")}, + {68, 3375, _T("Риихимяки")}, + {68, 3159, _T("Руовеси")}, + {68, 974, _T("Тампере")}, + {68, 975, _T("Турку")}, + {68, 976, _T("Хельсинки")}, + {68, 977, _T("Эспо")}, + {68, 978, _T("Ювяскюля")}, {68, 2502, lpwszOther}, - {37, 996, TEXT("Авиньон")}, - {37, 983, TEXT("Бержерак")}, - {37, 997, TEXT("Блуа")}, - {37, 984, TEXT("Бордо")}, - {37, 998, TEXT("Дижон")}, - {37, 987, TEXT("Канн")}, - {37, 988, TEXT("Кастр")}, - {37, 993, TEXT("Клермон-Ферран")}, - {37, 3037, TEXT("Лилль")}, - {37, 989, TEXT("Лион")}, - {37, 985, TEXT("Марсель")}, - {37, 991, TEXT("Мец")}, - {37, 3161, TEXT("Мобеж")}, - {37, 990, TEXT("Нанси")}, - {37, 994, TEXT("Нант")}, - {37, 995, TEXT("Ницца")}, - {37, 999, TEXT("Орлеан")}, - {37, 981, TEXT("Париж")}, - {37, 3374, TEXT("Перпиньян")}, - {37, 992, TEXT("Руан")}, - {37, 982, TEXT("Страсбург")}, - {37, 986, TEXT("Тулуза")}, - {37, 3314, TEXT("Шамбери")}, + {37, 996, _T("Авиньон")}, + {37, 983, _T("Бержерак")}, + {37, 997, _T("Блуа")}, + {37, 984, _T("Бордо")}, + {37, 998, _T("Дижон")}, + {37, 987, _T("Канн")}, + {37, 988, _T("Кастр")}, + {37, 993, _T("Клермон-Ферран")}, + {37, 3037, _T("Лилль")}, + {37, 989, _T("Лион")}, + {37, 985, _T("Марсель")}, + {37, 991, _T("Мец")}, + {37, 3161, _T("Мобеж")}, + {37, 990, _T("Нанси")}, + {37, 994, _T("Нант")}, + {37, 995, _T("Ницца")}, + {37, 999, _T("Орлеан")}, + {37, 981, _T("Париж")}, + {37, 3374, _T("Перпиньян")}, + {37, 992, _T("Руан")}, + {37, 982, _T("Страсбург")}, + {37, 986, _T("Тулуза")}, + {37, 3314, _T("Шамбери")}, {37, 2501, lpwszOther}, - {69, 1003, TEXT("Дубровник")}, - {69, 1000, TEXT("Загреб")}, - {69, 1001, TEXT("Задар")}, - {69, 1004, TEXT("Риека")}, - {69, 1002, TEXT("Сплит")}, + {69, 1003, _T("Дубровник")}, + {69, 1000, _T("Загреб")}, + {69, 1001, _T("Задар")}, + {69, 1004, _T("Риека")}, + {69, 1002, _T("Сплит")}, {69, 2500, lpwszOther}, - {70, 1005, TEXT("Брно")}, - {70, 3291, TEXT("Гавличкув-Брод")}, - {70, 1007, TEXT("Градец-Кралове")}, - {70, 1008, TEXT("Карлови-Вари")}, - {70, 3019, TEXT("Кладрубы")}, - {70, 1010, TEXT("Лоуни")}, - {70, 1009, TEXT("Острава")}, - {70, 1015, TEXT("Пльзень")}, - {70, 3105, TEXT("Правчицка Брана")}, - {70, 1006, TEXT("Прага")}, - {70, 3246, TEXT("Тачов")}, - {70, 1011, TEXT("Тршебич")}, - {70, 1012, TEXT("Усти-над-Лабем")}, - {70, 1014, TEXT("Ческе-Будеевице")}, - {70, 1013, TEXT("Яблонец-над-Нисоу")}, + {70, 1005, _T("Брно")}, + {70, 3291, _T("Гавличкув-Брод")}, + {70, 1007, _T("Градец-Кралове")}, + {70, 1008, _T("Карлови-Вари")}, + {70, 3019, _T("Кладрубы")}, + {70, 1010, _T("Лоуни")}, + {70, 1009, _T("Острава")}, + {70, 1015, _T("Пльзень")}, + {70, 3105, _T("Правчицка Брана")}, + {70, 1006, _T("Прага")}, + {70, 3246, _T("Тачов")}, + {70, 1011, _T("Тршебич")}, + {70, 1012, _T("Усти-над-Лабем")}, + {70, 1014, _T("Ческе-Будеевице")}, + {70, 1013, _T("Яблонец-над-Нисоу")}, {70, 2499, lpwszOther}, - {71, 1016, TEXT("Арау")}, - {71, 1019, TEXT("Баден")}, - {71, 1017, TEXT("Базель")}, - {71, 1018, TEXT("Берн")}, - {71, 1020, TEXT("Биль")}, - {71, 1021, TEXT("Винтертур")}, - {71, 1022, TEXT("Давос")}, - {71, 3189, TEXT("Делемонт")}, - {71, 1023, TEXT("Женева")}, - {71, 1024, TEXT("Золотурн")}, - {71, 1025, TEXT("Лозанна")}, - {71, 1026, TEXT("Локарно")}, - {71, 1027, TEXT("Лугано")}, - {71, 1028, TEXT("Люцерн")}, - {71, 1029, TEXT("Монтре")}, - {71, 1030, TEXT("Цюрих")}, + {71, 1016, _T("Арау")}, + {71, 1019, _T("Баден")}, + {71, 1017, _T("Базель")}, + {71, 1018, _T("Берн")}, + {71, 1020, _T("Биль")}, + {71, 1021, _T("Винтертур")}, + {71, 1022, _T("Давос")}, + {71, 3189, _T("Делемонт")}, + {71, 1023, _T("Женева")}, + {71, 1024, _T("Золотурн")}, + {71, 1025, _T("Лозанна")}, + {71, 1026, _T("Локарно")}, + {71, 1027, _T("Лугано")}, + {71, 1028, _T("Люцерн")}, + {71, 1029, _T("Монтре")}, + {71, 1030, _T("Цюрих")}, {71, 2498, lpwszOther}, - {72, 2883, TEXT("Арбога")}, - {72, 1031, TEXT("Гетеборг")}, - {72, 1032, TEXT("Кальмар")}, - {72, 1037, TEXT("Лахольм")}, - {72, 1036, TEXT("Лулео")}, - {72, 1042, TEXT("Лунд")}, - {72, 1033, TEXT("Мальме")}, - {72, 1034, TEXT("Стокгольм")}, - {72, 1041, TEXT("Умео")}, - {72, 1039, TEXT("Фалун")}, - {72, 1043, TEXT("Хельсинборг")}, - {72, 1040, TEXT("Хернесанд")}, - {72, 1038, TEXT("Эстерсунд")}, + {72, 2883, _T("Арбога")}, + {72, 1031, _T("Гетеборг")}, + {72, 1032, _T("Кальмар")}, + {72, 1037, _T("Лахольм")}, + {72, 1036, _T("Лулео")}, + {72, 1042, _T("Лунд")}, + {72, 1033, _T("Мальме")}, + {72, 1034, _T("Стокгольм")}, + {72, 1041, _T("Умео")}, + {72, 1039, _T("Фалун")}, + {72, 1043, _T("Хельсинборг")}, + {72, 1040, _T("Хернесанд")}, + {72, 1038, _T("Эстерсунд")}, {72, 2497, lpwszOther}, - {73, 3013, TEXT("Валга")}, - {73, 1044, TEXT("Кейла")}, - {73, 1045, TEXT("Кохтла-Ярве")}, - {73, 1046, TEXT("Маарду")}, - {73, 1047, TEXT("Мыйзакюла")}, - {73, 1048, TEXT("Нарва")}, - {73, 1049, TEXT("Пярну")}, - {73, 1050, TEXT("Раквере")}, - {73, 1051, TEXT("Силламяэ")}, - {73, 1052, TEXT("Таллин")}, - {73, 1053, TEXT("Тарту")}, - {73, 1054, TEXT("Хаапсалу")}, + {73, 3013, _T("Валга")}, + {73, 1044, _T("Кейла")}, + {73, 1045, _T("Кохтла-Ярве")}, + {73, 1046, _T("Маарду")}, + {73, 1047, _T("Мыйзакюла")}, + {73, 1048, _T("Нарва")}, + {73, 1049, _T("Пярну")}, + {73, 1050, _T("Раквере")}, + {73, 1051, _T("Силламяэ")}, + {73, 1052, _T("Таллин")}, + {73, 1053, _T("Тарту")}, + {73, 1054, _T("Хаапсалу")}, {0, NULL} };//*/ diff --git a/protocols/MRA/src/MraProto.h b/protocols/MRA/src/MraProto.h index 92e5b5c036..c7082bd23f 100644 --- a/protocols/MRA/src/MraProto.h +++ b/protocols/MRA/src/MraProto.h @@ -10,7 +10,7 @@ #define SCBIF_NICK 64 #define SCBIF_PHONES 128 -#define MAIN_MENU_ITEMS_COUNT 14 +#define MAIN_MENU_ITEMS_COUNT 13 #define CONTACT_MENU_ITEMS_COUNT 10 #define ADV_ICON_MAX 5 diff --git a/protocols/MRA/src/Mra_functions.cpp b/protocols/MRA/src/Mra_functions.cpp index 877bf108c6..2ba7335d8a 100644 --- a/protocols/MRA/src/Mra_functions.cpp +++ b/protocols/MRA/src/Mra_functions.cpp @@ -48,11 +48,11 @@ static DWORD GetParamValue(const CMStringA &szData, LPCSTR szParamName, DWORD dw LPSTR lpszParamDataStart = strstr(tmp, szParamName); if (lpszParamDataStart) - if ((*((WORD*)(lpszParamDataStart+dwParamNameSize))) == (*((WORD*)"=\""))) { - lpszParamDataStart += dwParamNameSize+2; + if ((*((WORD*)(lpszParamDataStart + dwParamNameSize))) == (*((WORD*)"=\""))) { + lpszParamDataStart += dwParamNameSize + 2; LPSTR lpszParamDataEnd = strchr(lpszParamDataStart, '"'); if (lpszParamDataEnd) { - szParamValue = CMStringA(szData.c_str()+(lpszParamDataStart-tmp), lpszParamDataEnd-lpszParamDataStart); + szParamValue = CMStringA(szData.c_str() + (lpszParamDataStart - tmp), lpszParamDataEnd - lpszParamDataStart); return NO_ERROR; } } @@ -67,10 +67,10 @@ CMStringA MraGetVersionStringFromFormatted(const CMStringA &szUserAgentFormatted CMStringA res, tmp; if (!GetParamValue(szUserAgentFormatted, "name", 4, tmp)) - if (tmp == "Miranda IM" || tmp == "Miranda NG") { - GetParamValue(szUserAgentFormatted, "title", 5, res); - return res; - } + if (tmp == "Miranda IM" || tmp == "Miranda NG") { + GetParamValue(szUserAgentFormatted, "title", 5, res); + return res; + } if (!GetParamValue(szUserAgentFormatted, "client", 6, tmp)) { if (tmp == "wmagent") @@ -86,15 +86,15 @@ CMStringA MraGetVersionStringFromFormatted(const CMStringA &szUserAgentFormatted res += tmp + " "; } - if ( !GetParamValue(szUserAgentFormatted, "name", 4, tmp)) + if (!GetParamValue(szUserAgentFormatted, "name", 4, tmp)) res += tmp + " "; - if ( !GetParamValue(szUserAgentFormatted, "title", 5, tmp)) + if (!GetParamValue(szUserAgentFormatted, "title", 5, tmp)) res += tmp + " "; - if ( !GetParamValue(szUserAgentFormatted, "version", 7, tmp)) { + if (!GetParamValue(szUserAgentFormatted, "version", 7, tmp)) { res += tmp + " "; - if ( !GetParamValue(szUserAgentFormatted, "build", 5, tmp)) + if (!GetParamValue(szUserAgentFormatted, "build", 5, tmp)) res += tmp; } @@ -106,7 +106,7 @@ DWORD MraAddrListGetFromBuff(const CMStringA &szAddresses, MRA_ADDR_LIST *pmalAd { if (szAddresses.IsEmpty() || !pmalAddrList) return ERROR_INVALID_HANDLE; - + DWORD dwAllocatedCount = ALLOCATED_COUNT; pmalAddrList->dwAddrCount = 0; pmalAddrList->pMailAddress = (MRA_ADDR_LIST_ITEM*)mir_calloc(sizeof(MRA_ADDR_LIST_ITEM)*dwAllocatedCount); @@ -130,10 +130,10 @@ DWORD MraAddrListGetFromBuff(const CMStringA &szAddresses, MRA_ADDR_LIST *pmalAd *lpszDelimiter = 0; pmalAddrList->pMailAddress[pmalAddrList->dwAddrCount].dwAddr = inet_addr(lpszCurrentItem); - pmalAddrList->pMailAddress[pmalAddrList->dwAddrCount].dwPort = StrToUNum32((lpszDelimiter+1), (lpszEndItem-(lpszDelimiter+1))); + pmalAddrList->pMailAddress[pmalAddrList->dwAddrCount].dwPort = StrToUNum32((lpszDelimiter + 1), (lpszEndItem - (lpszDelimiter + 1))); *lpszDelimiter = ':'; pmalAddrList->dwAddrCount++; - lpszCurrentItem = lpszEndItem+1; + lpszCurrentItem = lpszEndItem + 1; if (lpszEndItem == buf + szAddresses.GetLength()) break; @@ -185,16 +185,15 @@ bool DB_GetStaticStringA(HANDLE hContact, LPCSTR lpszModule, LPCSTR lpszValueNam { bool bRet = false; size_t dwReadedStringLen, dwRetBuffSizeLocal; - DBVARIANT dbv = {0}; - if (db_get_ws(hContact, lpszModule, lpszValueName, &dbv) == 0) - { + DBVARIANT dbv = { 0 }; + if (db_get_ws(hContact, lpszModule, lpszValueName, &dbv) == 0) { dwReadedStringLen = lstrlenW(dbv.pwszVal); - if (lpszRetBuff && (dwRetBuffSize>dwReadedStringLen)) - { + if (lpszRetBuff && (dwRetBuffSize > dwReadedStringLen)) { dwRetBuffSizeLocal = WideCharToMultiByte(MRA_CODE_PAGE, 0, dbv.pwszVal, dwReadedStringLen, lpszRetBuff, dwRetBuffSize, NULL, NULL); - (*((CHAR*)(lpszRetBuff+dwRetBuffSizeLocal))) = 0; + (*((CHAR*)(lpszRetBuff + dwRetBuffSizeLocal))) = 0; bRet = true; - }else { + } + else { dwRetBuffSizeLocal = dwReadedStringLen; if (lpszRetBuff && dwRetBuffSize >= sizeof(WORD)) (*((WORD*)lpszRetBuff)) = 0; } @@ -214,16 +213,15 @@ bool DB_GetStaticStringW(HANDLE hContact, LPCSTR lpszModule, LPCSTR lpszValueNam { bool bRet = false; size_t dwReadedStringLen; - DBVARIANT dbv = {0}; - if (db_get_ws(hContact, lpszModule, lpszValueName, &dbv) == 0) - { + DBVARIANT dbv = { 0 }; + if (db_get_ws(hContact, lpszModule, lpszValueName, &dbv) == 0) { dwReadedStringLen = lstrlenW(dbv.pwszVal); - if (lpwszRetBuff && (dwRetBuffSize>dwReadedStringLen)) - { + if (lpwszRetBuff && (dwRetBuffSize > dwReadedStringLen)) { memmove(lpwszRetBuff, dbv.pszVal, (dwReadedStringLen*sizeof(WCHAR)));//include null terminated - (*((WCHAR*)(lpwszRetBuff+dwReadedStringLen))) = 0; + (*((WCHAR*)(lpwszRetBuff + dwReadedStringLen))) = 0; bRet = true; - }else { + } + else { if (lpwszRetBuff && dwRetBuffSize >= sizeof(WCHAR)) (*((WCHAR*)lpwszRetBuff)) = 0; } if (pdwRetBuffSize) (*pdwRetBuffSize) = dwReadedStringLen; @@ -245,7 +243,7 @@ bool DB_GetStringA(HANDLE hContact, LPCSTR lpszModule, LPCSTR lpszValueName, CMS mir_free(szRes); return true; } - + res.Empty(); return false; } @@ -259,7 +257,7 @@ bool DB_GetStringW(HANDLE hContact, LPCSTR lpszModule, LPCSTR lpszValueName, CMS mir_free(szRes); return true; } - + res.Empty(); return false; } @@ -309,20 +307,20 @@ DWORD CMraProto::MraMoveContactToGroup(HANDLE hContact, DWORD dwGroupID, LPCTSTR { MraGroupItem *p = NULL; - for (int i=0; i < m_groups.getCount(); i++) - if (m_groups[i].m_name == ptszName) { - p = &m_groups[i]; - break; - } + for (int i = 0; i < m_groups.getCount(); i++) + if (m_groups[i].m_name == ptszName) { + p = &m_groups[i]; + break; + } if (p == NULL) { if (m_groups.getCount() == 20) return 0; DWORD id; - for (id=0; id < 20; id++) - if (m_groups.find((MraGroupItem*)&id) == NULL) - break; + for (id = 0; id < 20; id++) + if (m_groups.find((MraGroupItem*)&id) == NULL) + break; DWORD dwContactFlags = CONTACT_FLAG_UNICODE_NAME | CONTACT_FLAG_GROUP | (id << 24); p = new MraGroupItem(id, dwContactFlags, ptszName); @@ -343,13 +341,13 @@ DWORD CMraProto::GetContactFlags(HANDLE hContact) if (IsContactMra(hContact)) { dwRet = getDword(hContact, "ContactFlags", 0); - dwRet &= ~(CONTACT_FLAG_REMOVED|CONTACT_FLAG_GROUP|CONTACT_FLAG_INVISIBLE|CONTACT_FLAG_VISIBLE|CONTACT_FLAG_IGNORE|CONTACT_FLAG_SHADOW|CONTACT_FLAG_MULTICHAT); + dwRet &= ~(CONTACT_FLAG_REMOVED | CONTACT_FLAG_GROUP | CONTACT_FLAG_INVISIBLE | CONTACT_FLAG_VISIBLE | CONTACT_FLAG_IGNORE | CONTACT_FLAG_SHADOW | CONTACT_FLAG_MULTICHAT); dwRet |= CONTACT_FLAG_UNICODE_NAME; CMStringA szEmail; if (mraGetStringA(hContact, "e-mail", szEmail)) - if (IsEMailChatAgent(szEmail)) - dwRet |= CONTACT_FLAG_MULTICHAT; + if (IsEMailChatAgent(szEmail)) + dwRet |= CONTACT_FLAG_MULTICHAT; if (db_get_b(hContact, "CList", "Hidden", 0)) dwRet |= CONTACT_FLAG_SHADOW; @@ -370,7 +368,7 @@ DWORD CMraProto::GetContactFlags(HANDLE hContact) DWORD CMraProto::SetContactFlags(HANDLE hContact, DWORD dwContactFlag) { - if ( !IsContactMra(hContact)) + if (!IsContactMra(hContact)) return ERROR_INVALID_HANDLE; setDword(hContact, "ContactFlags", dwContactFlag); @@ -380,7 +378,7 @@ DWORD CMraProto::SetContactFlags(HANDLE hContact, DWORD dwContactFlag) else db_unset(hContact, "CList", "Hidden"); - switch (dwContactFlag & (CONTACT_FLAG_INVISIBLE|CONTACT_FLAG_VISIBLE)) { + switch (dwContactFlag & (CONTACT_FLAG_INVISIBLE | CONTACT_FLAG_VISIBLE)) { case CONTACT_FLAG_INVISIBLE: setWord(hContact, "ApparentMode", ID_STATUS_OFFLINE); break; @@ -402,7 +400,7 @@ DWORD CMraProto::SetContactFlags(HANDLE hContact, DWORD dwContactFlag) DWORD CMraProto::GetContactBasicInfoW(HANDLE hContact, DWORD *pdwID, DWORD *pdwGroupID, DWORD *pdwContactFlag, DWORD *pdwContactSeverFlags, DWORD *pdwStatus, CMStringA *szEmail, CMStringW *wszNick, CMStringA *szPhones) { - if ( !IsContactMra(hContact)) + if (!IsContactMra(hContact)) return ERROR_INVALID_HANDLE; if (pdwID) @@ -426,7 +424,7 @@ DWORD CMraProto::GetContactBasicInfoW(HANDLE hContact, DWORD *pdwID, DWORD *pdwG for (int i = 0; i < 3; i++) { char szValue[50]; mir_snprintf(szValue, SIZEOF(szValue), "MyPhone%d", i); - if ( DB_GetStringA(hContact, "UserInfo", szValue, szPhone)) { + if (DB_GetStringA(hContact, "UserInfo", szValue, szPhone)) { if (szPhones->GetLength()) szPhones->AppendChar(','); szPhones->Append(szPhone); @@ -438,7 +436,7 @@ DWORD CMraProto::GetContactBasicInfoW(HANDLE hContact, DWORD *pdwID, DWORD *pdwG DWORD CMraProto::SetContactBasicInfoW(HANDLE hContact, DWORD dwSetInfoFlags, DWORD dwFlags, DWORD dwID, DWORD dwGroupID, DWORD dwContactFlag, DWORD dwContactSeverFlags, DWORD dwStatus, const CMStringA *szEmail, const CMStringW *wszNick, const CMStringA *szPhones) { - if ( !IsContactMra(hContact)) + if (!IsContactMra(hContact)) return ERROR_INVALID_HANDLE; // LOCK @@ -500,7 +498,7 @@ DWORD CMraProto::SetContactBasicInfoW(HANDLE hContact, DWORD dwSetInfoFlags, DWO HANDLE CMraProto::MraHContactFromEmail(const CMStringA& szEmail, BOOL bAddIfNeeded, BOOL bTemporary, BOOL *pbAdded) { - if ( szEmail.IsEmpty()) + if (szEmail.IsEmpty()) return NULL; HANDLE hContact = NULL; @@ -509,13 +507,13 @@ HANDLE CMraProto::MraHContactFromEmail(const CMStringA& szEmail, BOOL bAddIfNeed //check not already on list CMStringA szEMailLocal; for (hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) - if (mraGetStringA(hContact, "e-mail", szEMailLocal)) - if (szEMailLocal == szEmail) { - if (bTemporary == FALSE) - db_unset(hContact, "CList", "NotOnList"); - bFound = true; - break; - } + if (mraGetStringA(hContact, "e-mail", szEMailLocal)) + if (szEMailLocal == szEmail) { + if (bTemporary == FALSE) + db_unset(hContact, "CList", "NotOnList"); + bFound = true; + break; + } if (!bFound && bAddIfNeeded) { //not already there: add @@ -572,7 +570,7 @@ bool CMraProto::MraUpdateContactInfo(HANDLE hContact) CMStringA szEmail; if (mraGetStringA(hContact, "e-mail", szEmail)) { MraAvatarsQueueGetAvatarSimple(hAvatarsQueueHandle, GAIF_FORCE, hContact, 0); - if ( MraWPRequestByEMail(hContact, ACKTYPE_GETINFO, szEmail)) + if (MraWPRequestByEMail(hContact, ACKTYPE_GETINFO, szEmail)) return true; } } @@ -648,9 +646,9 @@ void CMraProto::MraUpdateEmailStatus(const CMStringA &pszFrom, const CMStringA & mir_sntprintf(szMailBoxStatus, SIZEOF(szMailBoxStatus), TranslateT("Unread mail is available: %lu/%lu messages"), m_dwEmailMessagesUnread, dwEmailMessagesTotal); - if ( !pszFrom.IsEmpty() || !pszSubject.IsEmpty()) { + if (!pszFrom.IsEmpty() || !pszSubject.IsEmpty()) { CMStringA szFrom, szSubject; - if ( GetEMailFromString(szFrom, szEmail)) + if (GetEMailFromString(szFrom, szEmail)) hContact = MraHContactFromEmail(szEmail, FALSE, TRUE, NULL); mir_sntprintf(szStatusText, SIZEOF(szStatusText), TranslateT("From: %S\r\nSubject: %S\r\n%s"), pszFrom.c_str(), szSubject.c_str(), szMailBoxStatus); @@ -659,21 +657,20 @@ void CMraProto::MraUpdateEmailStatus(const CMStringA &pszFrom, const CMStringA & if (bTrayIconNewMailNotify) { char szServiceFunction[MAX_PATH], *pszServiceFunctionName; - CLISTEVENT cle = {0}; + CLISTEVENT cle = { 0 }; cle.cbSize = sizeof(cle); //cle.hContact; //cle.hDbEvent; cle.lpszProtocol = m_szModuleName; cle.hIcon = IconLibGetIcon(gdiMenuItems[0].hIcolib); - cle.flags = (CLEF_UNICODE|CLEF_PROTOCOLGLOBAL); + cle.flags = (CLEF_UNICODE | CLEF_PROTOCOLGLOBAL); cle.pszService = ""; cle.ptszTooltip = szStatusText; - if (getByte("TrayIconNewMailClkToInbox", MRA_DEFAULT_TRAYICON_NEW_MAIL_CLK_TO_INBOX)) - { + if (getByte("TrayIconNewMailClkToInbox", MRA_DEFAULT_TRAYICON_NEW_MAIL_CLK_TO_INBOX)) { strncpy(szServiceFunction, m_szModuleName, MAX_PATH); - pszServiceFunctionName = szServiceFunction+strlen(m_szModuleName); + pszServiceFunctionName = szServiceFunction + strlen(m_szModuleName); memmove(pszServiceFunctionName, MRA_GOTO_INBOX, sizeof(MRA_GOTO_INBOX)); cle.pszService = szServiceFunction; } @@ -681,20 +678,20 @@ void CMraProto::MraUpdateEmailStatus(const CMStringA &pszFrom, const CMStringA & } SkinPlaySound(szNewMailSound); - if (hContact) - {// update user info + if (hContact) {// update user info MraUpdateContactInfo(hContact); MraPopupShowFromContactW(hContact, MRA_POPUP_TYPE_EMAIL_STATUS, (MRA_POPUP_ALLOW_ENTER), szStatusText); - }else { - MraPopupShowFromAgentW(MRA_POPUP_TYPE_EMAIL_STATUS, (MRA_POPUP_ALLOW_ENTER), szStatusText); } - }else { - if (getByte("IncrementalNewMailNotify", MRA_DEFAULT_INC_NEW_MAIL_NOTIFY)) - { - if (bTrayIconNewMailNotify) CallService(MS_CLIST_REMOVEEVENT, 0, (LPARAM)m_szModuleName); + else MraPopupShowFromAgentW(MRA_POPUP_TYPE_EMAIL_STATUS, (MRA_POPUP_ALLOW_ENTER), szStatusText); + } + else { + if (getByte("IncrementalNewMailNotify", MRA_DEFAULT_INC_NEW_MAIL_NOTIFY)) { + if (bTrayIconNewMailNotify) + CallService(MS_CLIST_REMOVEEVENT, 0, (LPARAM)m_szModuleName); PUDeletePopup(hWndEMailPopupStatus); hWndEMailPopupStatus = NULL; - }else { + } + else { mir_sntprintf(szStatusText, SIZEOF(szStatusText), TranslateT("No unread mail is available\r\nTotal messages: %lu"), dwEmailMessagesTotal); MraPopupShowFromAgentW(MRA_POPUP_TYPE_EMAIL_STATUS, (MRA_POPUP_ALLOW_ENTER), szStatusText); } @@ -705,8 +702,8 @@ bool IsHTTPSProxyUsed(HANDLE m_hNetlibUser) { NETLIBUSERSETTINGS nlus = { sizeof(nlus) }; if (CallService(MS_NETLIB_GETUSERSETTINGS, (WPARAM)m_hNetlibUser, (LPARAM)&nlus)) - if (nlus.useProxy && nlus.proxyType == PROXYTYPE_HTTPS) - return true; + if (nlus.useProxy && nlus.proxyType == PROXYTYPE_HTTPS) + return true; return false; } @@ -723,8 +720,8 @@ bool IsContactMraProto(HANDLE hContact) LPSTR lpszProto = GetContactProto(hContact); if (lpszProto) { CMStringW szBuff; - if ( DB_GetStringW(hContact, lpszProto, "AvatarLastCheckTime", szBuff)) - if ( DB_GetStringW(hContact, lpszProto, "AvatarLastModifiedTime", szBuff)) + if (DB_GetStringW(hContact, lpszProto, "AvatarLastCheckTime", szBuff)) + if (DB_GetStringW(hContact, lpszProto, "AvatarLastModifiedTime", szBuff)) return true; } return false; @@ -748,7 +745,7 @@ bool CMraProto::IsEMailChatAgent(const CMStringA &szEmail) { if (!szEmail.IsEmpty()) { CMStringA domain = szEmail.Right(sizeof(MAILRU_CHAT_CONF_DOMAIN)); - if (domain[0] == '@' && _stricmp(domain.c_str()+1, MAILRU_CHAT_CONF_DOMAIN)) + if (domain[0] == '@' && _stricmp(domain.c_str() + 1, MAILRU_CHAT_CONF_DOMAIN)) return true; } return false; @@ -769,8 +766,8 @@ bool IsEMailMR(const CMStringA &szEmail) for (int i = 0; lpcszMailRuDomains[i]; i++) { int dwDomainLen = lstrlenA(lpcszMailRuDomains[i]); if (dwDomainLen < szEmail.GetLength()) - if (!_stricmp(lpcszMailRuDomains[i], szEmail.c_str()+szEmail.GetLength()-dwDomainLen)) - if (szEmail[szEmail.GetLength()-dwDomainLen-1] == '@') + if (!_stricmp(lpcszMailRuDomains[i], szEmail.c_str() + szEmail.GetLength() - dwDomainLen)) + if (szEmail[szEmail.GetLength() - dwDomainLen - 1] == '@') return true; } } @@ -784,7 +781,7 @@ bool GetEMailFromString(const CMStringA& szBuff, CMStringA& szEmail) if ((Start = szBuff.Find('<')) != -1) { Start++; if ((End = szBuff.Find('>', Start)) != -1) { - szEmail = szBuff.Mid(Start, End-Start-1); + szEmail = szBuff.Mid(Start, End - Start - 1); return true; } } @@ -799,11 +796,11 @@ DWORD GetContactEMailCountParam(HANDLE hContact, BOOL bMRAOnly, LPSTR lpszModule DWORD dwRet = 0; CMStringA szEmail; - if ( DB_GetStringA(hContact, lpszModule, lpszValueName, szEmail)) + if (DB_GetStringA(hContact, lpszModule, lpszValueName, szEmail)) if (bMRAOnly == FALSE || IsEMailMR(szEmail)) dwRet++; - for (int i=0; TRUE; i++) { + for (int i = 0; TRUE; i++) { char szBuff[100]; mir_snprintf(szBuff, SIZEOF(szBuff), "%s%lu", lpszValueName, i); if (DB_GetStringA(hContact, lpszModule, szBuff, szEmail)) { @@ -835,22 +832,22 @@ bool GetContactFirstEMailParam(HANDLE hContact, BOOL bMRAOnly, LPSTR lpszModule, { CMStringA szEmail; - if ( DB_GetStringA(hContact, lpszModule, lpszValueName, szEmail)) - if (bMRAOnly == FALSE || IsEMailMR(szEmail)) { - res = szEmail; - return true; - } + if (DB_GetStringA(hContact, lpszModule, lpszValueName, szEmail)) + if (bMRAOnly == FALSE || IsEMailMR(szEmail)) { + res = szEmail; + return true; + } for (int i = 0; true; i++) { char szBuff[100]; mir_snprintf(szBuff, SIZEOF(szBuff), "%s%lu", lpszValueName, i); - if ( DB_GetStringA(hContact, lpszModule, szBuff, szEmail)) { + if (DB_GetStringA(hContact, lpszModule, szBuff, szEmail)) { if (bMRAOnly == FALSE || IsEMailMR(szEmail)) { res = szEmail; return true; } } - else if (i>EMAILS_MIN_COUNT) + else if (i > EMAILS_MIN_COUNT) break; } return false; @@ -878,7 +875,7 @@ void CMraProto::ShowFormattedErrorMessage(LPWSTR lpwszErrText, DWORD dwErrorCode if (dwErrorCode == NO_ERROR) mir_sntprintf(szErrorText, SIZEOF(szErrorText), _T("%s"), TranslateTS(lpwszErrText)); else { - dwErrDescriptionSize = (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwErrorCode, 0, szErrDescription, (SIZEOF(szErrDescription)-sizeof(WCHAR)), NULL)-2); + dwErrDescriptionSize = (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwErrorCode, 0, szErrDescription, (SIZEOF(szErrDescription) - sizeof(WCHAR)), NULL) - 2); szErrDescription[dwErrDescriptionSize] = 0; mir_sntprintf(szErrorText, SIZEOF(szErrorText), _T("%s %lu: %s"), TranslateTS(lpwszErrText), dwErrorCode, szErrDescription); } @@ -936,8 +933,8 @@ CMStringA CopyNumber(const CMStringA &str) CMStringA res; for (LPCSTR p = str; *p; p++) - if (*p >= '0' && *p <= '9') - res.AppendChar(*p); + if (*p >= '0' && *p <= '9') + res.AppendChar(*p); return res; } @@ -988,14 +985,14 @@ INT_PTR CALLBACK SetXStatusDlgProc(HWND hWndDlg, UINT message, WPARAM wParam, LP dat->hDlgIcon = IconLibGetIcon(hXStatusAdvancedStatusIcons[dat->dwXStatus]); dat->dwCountdown = 5; - mir_subclassWindow( GetDlgItem(hWndDlg, IDC_XTITLE), MessageEditSubclassProc); - mir_subclassWindow( GetDlgItem(hWndDlg, IDC_XMSG), MessageEditSubclassProc); + mir_subclassWindow(GetDlgItem(hWndDlg, IDC_XTITLE), MessageEditSubclassProc); + mir_subclassWindow(GetDlgItem(hWndDlg, IDC_XMSG), MessageEditSubclassProc); SetWindowLongPtr(hWndDlg, GWLP_USERDATA, (LONG_PTR)dat); SendDlgItemMessage(hWndDlg, IDC_XTITLE, EM_LIMITTEXT, STATUS_TITLE_MAX, 0); SendDlgItemMessage(hWndDlg, IDC_XMSG, EM_LIMITTEXT, STATUS_DESC_MAX, 0); SendMessage(hWndDlg, WM_SETICON, ICON_BIG, (LPARAM)dat->hDlgIcon); - SetWindowText(hWndDlg,TranslateTS(lpcszXStatusNameDef[dat->dwXStatus])); + SetWindowText(hWndDlg, TranslateTS(lpcszXStatusNameDef[dat->dwXStatus])); mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldName", dat->dwXStatus); if (dat->ppro->mraGetStringW(NULL, szValueName, szBuff)) @@ -1054,17 +1051,17 @@ INT_PTR CALLBACK SetXStatusDlgProc(HWND hWndDlg, UINT message, WPARAM wParam, LP SetWindowLongPtr(hWndEdit, GWLP_WNDPROC, (LONG_PTR)OldMessageEditProc); SetWindowLongPtr(hWndEdit, GWLP_USERDATA, 0); - TCHAR szBuff[STATUS_TITLE_MAX+STATUS_DESC_MAX]; - DWORD dwBuffSize = GetDlgItemText(hWndDlg, IDC_XMSG, szBuff, STATUS_DESC_MAX+1); + TCHAR szBuff[STATUS_TITLE_MAX + STATUS_DESC_MAX]; + DWORD dwBuffSize = GetDlgItemText(hWndDlg, IDC_XMSG, szBuff, STATUS_DESC_MAX + 1); char szValueName[MAX_PATH]; mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldMsg", dat->dwXStatus); dat->ppro->mraSetStringExW(NULL, szValueName, szBuff); dat->ppro->mraSetStringExW(NULL, DBSETTING_XSTATUSMSG, szBuff); - dwBuffSize = GetDlgItemText(hWndDlg, IDC_XTITLE, szBuff, (STATUS_TITLE_MAX+1)); + dwBuffSize = GetDlgItemText(hWndDlg, IDC_XTITLE, szBuff, (STATUS_TITLE_MAX + 1)); if (dwBuffSize == 0) { // user delete all text - lstrcpyn(szBuff, TranslateTS(lpcszXStatusNameDef[dat->dwXStatus]), (STATUS_TITLE_MAX+1)); + lstrcpyn(szBuff, TranslateTS(lpcszXStatusNameDef[dat->dwXStatus]), (STATUS_TITLE_MAX + 1)); dwBuffSize = lstrlenW(szBuff); } mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%dName", dat->dwXStatus); @@ -1072,7 +1069,7 @@ INT_PTR CALLBACK SetXStatusDlgProc(HWND hWndDlg, UINT message, WPARAM wParam, LP dat->ppro->mraSetStringExW(NULL, DBSETTING_XSTATUSNAME, szBuff); CLISTMENUITEM mi = { sizeof(mi) }; - mi.flags = (CMIM_NAME|CMIF_UNICODE); + mi.flags = (CMIM_NAME | CMIF_UNICODE); mi.ptszName = szBuff; Menu_ModifyItem(dat->ppro->hXStatusMenuItems[dat->dwXStatus], &mi); @@ -1088,7 +1085,7 @@ INT_PTR CALLBACK SetXStatusDlgProc(HWND hWndDlg, UINT message, WPARAM wParam, LP bool CMraProto::MraRequestXStatusDetails(DWORD dwXStatus) { - if ( IsXStatusValid(dwXStatus)) { + if (IsXStatusValid(dwXStatus)) { SetXStatusData *dat = (SetXStatusData*)mir_calloc(sizeof(SetXStatusData)); dat->dwXStatus = dwXStatus; dat->ppro = this; @@ -1106,12 +1103,12 @@ INT_PTR CALLBACK SendReplyBlogStatusDlgProc(HWND hWndDlg, UINT message, WPARAM w SetBlogStatusData *dat = (SetBlogStatusData*)GetWindowLongPtr(hWndDlg, GWLP_USERDATA); switch (message) { - case WM_INITDIALOG:// set our xStatus + case WM_INITDIALOG:// set our xStatus TranslateDialogDefault(hWndDlg); dat = (SetBlogStatusData*)lParam; if (dat) { - SYSTEMTIME stBlogStatusTime = {0}; + SYSTEMTIME stBlogStatusTime = { 0 }; SetWindowLongPtr(hWndDlg, GWLP_USERDATA, (LONG_PTR)dat); @@ -1129,15 +1126,15 @@ INT_PTR CALLBACK SendReplyBlogStatusDlgProc(HWND hWndDlg, UINT message, WPARAM w // reply to some user blog if (dat->hContact) { - szBuff.Format( TranslateT("Reply to %s blog status"), GetContactNameW(dat->hContact)); - SetWindowText(hWndDlg,szBuff.c_str()); + szBuff.Format(TranslateT("Reply to %s blog status"), GetContactNameW(dat->hContact)); + SetWindowText(hWndDlg, szBuff.c_str()); } else SetWindowText(hWndDlg, TranslateT("Set my blog status")); DWORD dwTime = dat->ppro->getDword(dat->hContact, DBSETTING_BLOGSTATUSTIME, 0); if (dwTime && MakeLocalSystemTimeFromTime32(dwTime, &stBlogStatusTime)) szBuff.Format(_T("%s: %04ld.%02ld.%02ld %02ld:%02ld"), TranslateT("Written"), - stBlogStatusTime.wYear, stBlogStatusTime.wMonth, stBlogStatusTime.wDay, stBlogStatusTime.wHour, stBlogStatusTime.wMinute); + stBlogStatusTime.wYear, stBlogStatusTime.wMonth, stBlogStatusTime.wDay, stBlogStatusTime.wHour, stBlogStatusTime.wMinute); else szBuff.Empty(); @@ -1147,71 +1144,71 @@ INT_PTR CALLBACK SendReplyBlogStatusDlgProc(HWND hWndDlg, UINT message, WPARAM w } break; - case WM_CLOSE: - DestroyWindow(hWndDlg); - break; - - case WM_COMMAND: - switch (LOWORD(wParam)) { - case IDOK: - { - DWORD dwFlags; - DWORDLONG dwBlogStatusID; - - TCHAR szBuff[MICBLOG_STATUS_MAX]; - size_t dwBuffSize = GetDlgItemText(hWndDlg, IDC_MSG_TO_SEND, szBuff, SIZEOF(szBuff)); - if (dat->hContact) { - dwFlags = (MRIM_BLOG_STATUS_REPLY|MRIM_BLOG_STATUS_NOTIFY); - - DBVARIANT dbv; - dbv.type = DBVT_BLOB; - dbv.pbVal = (PBYTE)&dwBlogStatusID; - dbv.cpbVal = sizeof(DWORDLONG); - db_get(dat->hContact, dat->ppro->m_szModuleName, DBSETTING_BLOGSTATUSID, &dbv); - } - else { - dwFlags = MRIM_BLOG_STATUS_UPDATE; - if (IsDlgButtonChecked(hWndDlg, IDC_CHK_NOTIFY)) dwFlags |= MRIM_BLOG_STATUS_NOTIFY; - dwBlogStatusID = 0; - } - dat->ppro->MraChangeUserBlogStatus(dwFlags, szBuff, dwBlogStatusID); - } - case IDCANCEL: - DestroyWindow(hWndDlg); - break; - - case IDC_MSG_TO_SEND: - if (HIWORD(wParam) == EN_CHANGE) { - TCHAR tszBuff[MAX_PATH]; - size_t dwMessageSize = GetWindowTextLength(GetDlgItem(hWndDlg, IDC_MSG_TO_SEND)); - - EnableWindow(GetDlgItem(hWndDlg, IDOK), dwMessageSize); - mir_sntprintf(tszBuff, SIZEOF(tszBuff), _T("%d/%d"), dwMessageSize, MICBLOG_STATUS_MAX); - SetDlgItemText(hWndDlg, IDC_STATIC_CHARS_COUNTER, tszBuff); - } - break; - } - break; - - case WM_DESTROY: - if (dat) { - SetWindowLongPtr(hWndDlg, GWLP_USERDATA, (LONG_PTR)0); - - HWND hWndEdit = GetDlgItem(hWndDlg, IDC_MSG_TO_SEND); - WNDPROC OldMessageEditProc = (WNDPROC)GetWindowLongPtr(hWndEdit, GWLP_USERDATA); - SetWindowLongPtr(hWndEdit, GWLP_WNDPROC, (LONG_PTR)OldMessageEditProc); - SetWindowLongPtr(hWndEdit, GWLP_USERDATA, (LONG_PTR)0); - mir_free(dat); - } - EndDialog(hWndDlg, NO_ERROR); - break; + case WM_CLOSE: + DestroyWindow(hWndDlg); + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDOK: + { + DWORD dwFlags; + DWORDLONG dwBlogStatusID; + + TCHAR szBuff[MICBLOG_STATUS_MAX]; + size_t dwBuffSize = GetDlgItemText(hWndDlg, IDC_MSG_TO_SEND, szBuff, SIZEOF(szBuff)); + if (dat->hContact) { + dwFlags = (MRIM_BLOG_STATUS_REPLY | MRIM_BLOG_STATUS_NOTIFY); + + DBVARIANT dbv; + dbv.type = DBVT_BLOB; + dbv.pbVal = (PBYTE)&dwBlogStatusID; + dbv.cpbVal = sizeof(DWORDLONG); + db_get(dat->hContact, dat->ppro->m_szModuleName, DBSETTING_BLOGSTATUSID, &dbv); + } + else { + dwFlags = MRIM_BLOG_STATUS_UPDATE; + if (IsDlgButtonChecked(hWndDlg, IDC_CHK_NOTIFY)) dwFlags |= MRIM_BLOG_STATUS_NOTIFY; + dwBlogStatusID = 0; + } + dat->ppro->MraChangeUserBlogStatus(dwFlags, szBuff, dwBlogStatusID); + } + case IDCANCEL: + DestroyWindow(hWndDlg); + break; + + case IDC_MSG_TO_SEND: + if (HIWORD(wParam) == EN_CHANGE) { + TCHAR tszBuff[MAX_PATH]; + size_t dwMessageSize = GetWindowTextLength(GetDlgItem(hWndDlg, IDC_MSG_TO_SEND)); + + EnableWindow(GetDlgItem(hWndDlg, IDOK), dwMessageSize); + mir_sntprintf(tszBuff, SIZEOF(tszBuff), _T("%d/%d"), dwMessageSize, MICBLOG_STATUS_MAX); + SetDlgItemText(hWndDlg, IDC_STATIC_CHARS_COUNTER, tszBuff); + } + break; + } + break; + + case WM_DESTROY: + if (dat) { + SetWindowLongPtr(hWndDlg, GWLP_USERDATA, (LONG_PTR)0); + + HWND hWndEdit = GetDlgItem(hWndDlg, IDC_MSG_TO_SEND); + WNDPROC OldMessageEditProc = (WNDPROC)GetWindowLongPtr(hWndEdit, GWLP_USERDATA); + SetWindowLongPtr(hWndEdit, GWLP_WNDPROC, (LONG_PTR)OldMessageEditProc); + SetWindowLongPtr(hWndEdit, GWLP_USERDATA, (LONG_PTR)0); + mir_free(dat); + } + EndDialog(hWndDlg, NO_ERROR); + break; } return iRet; } bool CMraProto::MraSendReplyBlogStatus(HANDLE hContact) { - SetBlogStatusData* dat = (SetBlogStatusData*)mir_calloc( sizeof(SetBlogStatusData)); + SetBlogStatusData* dat = (SetBlogStatusData*)mir_calloc(sizeof(SetBlogStatusData)); dat->ppro = this; dat->hContact = hContact; return CreateDialogParam(g_hInstance, MAKEINTRESOURCE(IDD_MINIBLOG), NULL, SendReplyBlogStatusDlgProc, (LPARAM)dat) != NULL; @@ -1228,15 +1225,15 @@ DWORD GetYears(CONST PSYSTEMTIME pcstSystemTime) GetLocalTime(&stTime); dwRet = stTime.wYear - pcstSystemTime->wYear; // день рожденья будет в след месяце - if (stTime.wMonthwMonth) + if (stTime.wMonth < pcstSystemTime->wMonth) dwRet--; // др ещё будет в этом месяце или уже был... else { // др в этом месяце if (stTime.wMonth == pcstSystemTime->wMonth) // ещё только будет, не сегодня - if (stTime.wDaywDay) - dwRet--; + if (stTime.wDay < pcstSystemTime->wDay) + dwRet--; } } return dwRet; @@ -1262,7 +1259,7 @@ DWORD FindFile(LPWSTR lpszFolder, DWORD dwFolderLen, LPWSTR lpszFileName, DWORD if (prdsiItems) { dwPathLen = dwFolderLen; memmove(szPath, lpszFolder, (dwPathLen*sizeof(WCHAR))); - if (szPath[(dwPathLen-1)] != '\\') { + if (szPath[(dwPathLen - 1)] != '\\') { szPath[dwPathLen] = '\\'; dwPathLen++; } @@ -1274,14 +1271,14 @@ DWORD FindFile(LPWSTR lpszFolder, DWORD dwFolderLen, LPWSTR lpszFileName, DWORD if (prdsiItems[dwRecDeepCurPos].hFind != INVALID_HANDLE_VALUE) { dwRetErrorCode = ERROR_FILE_NOT_FOUND; do { - dwPathLen-=prdsiItems[dwRecDeepCurPos].dwFileNameLen; + dwPathLen -= prdsiItems[dwRecDeepCurPos].dwFileNameLen; while (dwRetErrorCode == ERROR_FILE_NOT_FOUND && FindNextFile(prdsiItems[dwRecDeepCurPos].hFind, &prdsiItems[dwRecDeepCurPos].w32fdFindFileData)) { if (prdsiItems[dwRecDeepCurPos].w32fdFindFileData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY) {// folder - if (CompareString( MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, -1, _T("."), 1) != CSTR_EQUAL) - if (CompareString( MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, -1, _T(".."), 2) != CSTR_EQUAL) { - prdsiItems[dwRecDeepCurPos].dwFileNameLen = (lstrlenW(prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName)+1); - memmove((szPath+dwPathLen), prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, (prdsiItems[dwRecDeepCurPos].dwFileNameLen*sizeof(WCHAR))); + if (CompareString(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, -1, _T("."), 1) != CSTR_EQUAL) + if (CompareString(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, -1, _T(".."), 2) != CSTR_EQUAL) { + prdsiItems[dwRecDeepCurPos].dwFileNameLen = (lstrlenW(prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName) + 1); + memmove((szPath + dwPathLen), prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, (prdsiItems[dwRecDeepCurPos].dwFileNameLen*sizeof(WCHAR))); lstrcat(szPath, _T("\\*.*")); dwPathLen += prdsiItems[dwRecDeepCurPos].dwFileNameLen; @@ -1299,15 +1296,15 @@ DWORD FindFile(LPWSTR lpszFolder, DWORD dwFolderLen, LPWSTR lpszFileName, DWORD } } else {// file - if (CompareString( MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, -1, lpszFileName, dwFileNameLen) == CSTR_EQUAL) { + if (CompareString(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), NORM_IGNORECASE, prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, -1, lpszFileName, dwFileNameLen) == CSTR_EQUAL) { prdsiItems[dwRecDeepCurPos].dwFileNameLen = lstrlenW(prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName); - memmove((szPath+dwPathLen), prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, ((prdsiItems[dwRecDeepCurPos].dwFileNameLen+1)*sizeof(WCHAR))); - dwFilePathLen = (dwPathLen+prdsiItems[dwRecDeepCurPos].dwFileNameLen); + memmove((szPath + dwPathLen), prdsiItems[dwRecDeepCurPos].w32fdFindFileData.cFileName, ((prdsiItems[dwRecDeepCurPos].dwFileNameLen + 1)*sizeof(WCHAR))); + dwFilePathLen = (dwPathLen + prdsiItems[dwRecDeepCurPos].dwFileNameLen); if (pdwRetFilePathLen) (*pdwRetFilePathLen) = dwFilePathLen; if (lpszRetFilePathName && dwRetFilePathLen) { dwFilePathLen = min(dwFilePathLen, dwRetFilePathLen); - memmove(lpszRetFilePathName, szPath, ((dwFilePathLen+1)*sizeof(WCHAR))); + memmove(lpszRetFilePathName, szPath, ((dwFilePathLen + 1)*sizeof(WCHAR))); } dwRetErrorCode = NO_ERROR; @@ -1318,7 +1315,7 @@ DWORD FindFile(LPWSTR lpszFolder, DWORD dwFolderLen, LPWSTR lpszFileName, DWORD if (prdsiItems) FindClose(prdsiItems[dwRecDeepCurPos].hFind); dwRecDeepCurPos--; } - while (dwRecDeepCurPos != -1); + while (dwRecDeepCurPos != -1); } mir_free(prdsiItems); } @@ -1358,7 +1355,7 @@ bool CMraProto::GetPassDB(CMStringA &res) SHA1GetDigest(&btCryptedPass[(1 + MIR_SHA1_HASH_SIZE)], dwPassSize, btRandomData); if (0 != memcmp(&btCryptedPass[1], btRandomData, MIR_SHA1_HASH_SIZE)) return false; - + res = CMStringA((char*)&btCryptedPass[(1 + MIR_SHA1_HASH_SIZE)], dwPassSize); } else if (storageType == 1) { @@ -1392,7 +1389,7 @@ bool CMraProto::GetPassDB(CMStringA &res) static DWORD ReplaceInBuff(LPVOID lpInBuff, size_t dwInBuffSize, size_t dwReplaceItemsCount, LPVOID *plpInReplaceItems, size_t *pdwInReplaceItemsCounts, LPVOID *plpOutReplaceItems, size_t *pdwOutReplaceItemsCounts, CMStringW &ret) { DWORD dwRetErrorCode = NO_ERROR; - + LPBYTE *plpbtFounded = (LPBYTE*)mir_calloc((sizeof(LPBYTE)*dwReplaceItemsCount)); if (plpbtFounded) { LPBYTE lpbtOutBuffCur, lpbtInBuffCur, lpbtInBuffCurPrev, lpbtOutBuffMax; @@ -1402,27 +1399,26 @@ static DWORD ReplaceInBuff(LPVOID lpInBuff, size_t dwInBuffSize, size_t dwReplac lpbtOutBuffCur = (LPBYTE)ret.GetString(); lpbtOutBuffMax = LPBYTE(lpbtOutBuffCur) + ret.GetLength(); for (i = 0; i < dwReplaceItemsCount; i++) {// looking for the first time - plpbtFounded[i] = (LPBYTE)MemoryFind((lpbtInBuffCurPrev-(LPBYTE)lpInBuff), lpInBuff, dwInBuffSize, plpInReplaceItems[i], pdwInReplaceItemsCounts[i]); + plpbtFounded[i] = (LPBYTE)MemoryFind((lpbtInBuffCurPrev - (LPBYTE)lpInBuff), lpInBuff, dwInBuffSize, plpInReplaceItems[i], pdwInReplaceItemsCounts[i]); if (plpbtFounded[i]) dwFoundCount++; } while (dwFoundCount) { for (i = 0; i < dwReplaceItemsCount; i++) - if (plpbtFounded[i] && (plpbtFounded[i] < plpbtFounded[dwFirstFoundIndex] || plpbtFounded[dwFirstFoundIndex] == NULL)) - dwFirstFoundIndex = i; + if (plpbtFounded[i] && (plpbtFounded[i] < plpbtFounded[dwFirstFoundIndex] || plpbtFounded[dwFirstFoundIndex] == NULL)) + dwFirstFoundIndex = i; if (plpbtFounded[dwFirstFoundIndex]) {// in found - dwMemPartToCopy = (plpbtFounded[dwFirstFoundIndex]-lpbtInBuffCurPrev); - if (lpbtOutBuffMax>(lpbtOutBuffCur+(dwMemPartToCopy+pdwInReplaceItemsCounts[dwFirstFoundIndex]))) - { - memmove(lpbtOutBuffCur, lpbtInBuffCurPrev, dwMemPartToCopy);lpbtOutBuffCur += dwMemPartToCopy; - memmove(lpbtOutBuffCur, plpOutReplaceItems[dwFirstFoundIndex], pdwOutReplaceItemsCounts[dwFirstFoundIndex]);lpbtOutBuffCur += pdwOutReplaceItemsCounts[dwFirstFoundIndex]; - lpbtInBuffCurPrev = (plpbtFounded[dwFirstFoundIndex]+pdwInReplaceItemsCounts[dwFirstFoundIndex]); - - for (i = 0;i(lpbtOutBuffCur + (dwMemPartToCopy + pdwInReplaceItemsCounts[dwFirstFoundIndex]))) { + memmove(lpbtOutBuffCur, lpbtInBuffCurPrev, dwMemPartToCopy); lpbtOutBuffCur += dwMemPartToCopy; + memmove(lpbtOutBuffCur, plpOutReplaceItems[dwFirstFoundIndex], pdwOutReplaceItemsCounts[dwFirstFoundIndex]); lpbtOutBuffCur += pdwOutReplaceItemsCounts[dwFirstFoundIndex]; + lpbtInBuffCurPrev = (plpbtFounded[dwFirstFoundIndex] + pdwInReplaceItemsCounts[dwFirstFoundIndex]); + + for (i = 0; i < dwReplaceItemsCount; i++) {// looking for in next time if (plpbtFounded[i] && plpbtFounded[i] < lpbtInBuffCurPrev) { - plpbtFounded[i] = (LPBYTE)MemoryFind((lpbtInBuffCurPrev-(LPBYTE)lpInBuff), lpInBuff, dwInBuffSize, plpInReplaceItems[i], pdwInReplaceItemsCounts[i]); + plpbtFounded[i] = (LPBYTE)MemoryFind((lpbtInBuffCurPrev - (LPBYTE)lpInBuff), lpInBuff, dwInBuffSize, plpInReplaceItems[i], pdwInReplaceItemsCounts[i]); if (plpbtFounded[i] == NULL) dwFoundCount--; } } @@ -1438,23 +1434,23 @@ static DWORD ReplaceInBuff(LPVOID lpInBuff, size_t dwInBuffSize, size_t dwReplac break; } } - lpbtInBuffCur = (((LPBYTE)lpInBuff)+dwInBuffSize); - memmove(lpbtOutBuffCur, lpbtInBuffCurPrev, (lpbtInBuffCur-lpbtInBuffCurPrev));lpbtOutBuffCur += (lpbtInBuffCur-lpbtInBuffCurPrev); + lpbtInBuffCur = (((LPBYTE)lpInBuff) + dwInBuffSize); + memmove(lpbtOutBuffCur, lpbtInBuffCurPrev, (lpbtInBuffCur - lpbtInBuffCurPrev)); lpbtOutBuffCur += (lpbtInBuffCur - lpbtInBuffCurPrev); (*((WORD*)lpbtOutBuffCur)) = 0; mir_free(plpbtFounded); - ret.Truncate(lpbtOutBuffCur-((LPBYTE)ret.GetString())); + ret.Truncate(lpbtOutBuffCur - ((LPBYTE)ret.GetString())); } else dwRetErrorCode = GetLastError(); return dwRetErrorCode; } -static const LPTSTR lpszXMLTags[] = {TEXT("'"), TEXT("""), TEXT("&"), TEXT("<"), TEXT(">")}; -static const size_t dwXMLTagsCount[] = {(6*sizeof(TCHAR)), (6*sizeof(TCHAR)), (5*sizeof(TCHAR)), (4*sizeof(TCHAR)), (4*sizeof(TCHAR))}; -static const LPTSTR lpszXMLSymbols[] = {TEXT("\'"), TEXT("\""), TEXT("&"), TEXT("<"), TEXT(">")}; -static const size_t dwXMLSymbolsCount[] = {sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR)}; +static const LPTSTR lpszXMLTags[] = { _T("'"), _T("""), _T("&"), _T("<"), _T(">") }; +static const size_t dwXMLTagsCount[] = { (6 * sizeof(TCHAR)), (6 * sizeof(TCHAR)), (5 * sizeof(TCHAR)), (4 * sizeof(TCHAR)), (4 * sizeof(TCHAR)) }; +static const LPTSTR lpszXMLSymbols[] = { _T("\'"), _T("\""), _T("&"), _T("<"), _T(">") }; +static const size_t dwXMLSymbolsCount[] = { sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR), sizeof(TCHAR) }; //Decode XML coded string. The function translate special xml code into standard characters. CMStringW DecodeXML(const CMStringW &lptszMessage) diff --git a/protocols/MRA/src/Mra_menus.cpp b/protocols/MRA/src/Mra_menus.cpp index 4466ec8ac1..2e92363a74 100644 --- a/protocols/MRA/src/Mra_menus.cpp +++ b/protocols/MRA/src/Mra_menus.cpp @@ -18,9 +18,9 @@ INT_PTR CMraProto::MraSendSMS(WPARAM wParam, LPARAM lParam) if (!m_bLoggedIn || !wParam || !lParam) return 0; - ptrW lpwszMessageXMLEncoded( mir_utf8decodeW((LPSTR)lParam)); + ptrW lpwszMessageXMLEncoded(mir_utf8decodeW((LPSTR)lParam)); if (lpwszMessageXMLEncoded) { - CMStringW decoded = DecodeXML( CMStringW(lpwszMessageXMLEncoded)); + CMStringW decoded = DecodeXML(CMStringW(lpwszMessageXMLEncoded)); if (decoded.GetLength()) MraSMSW(NULL, CMStringA((LPSTR)wParam), decoded); } @@ -42,10 +42,10 @@ INT_PTR CMraProto::MraWebSearch(WPARAM wParam, LPARAM lParam) INT_PTR CMraProto::MraUpdateAllUsersInfo(WPARAM wParam, LPARAM lParam) { - if ( MessageBox(NULL, TranslateT("Are you sure?"), TranslateT(MRA_UPD_ALL_USERS_INFO_STR), MB_YESNO | MB_ICONQUESTION) == IDYES ) { + if (MessageBox(NULL, TranslateT("Are you sure?"), TranslateT(MRA_UPD_ALL_USERS_INFO_STR), MB_YESNO | MB_ICONQUESTION) == IDYES) { for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { CMStringA szEmail; - if ( mraGetStringA(hContact, "e-mail", szEmail)) + if (mraGetStringA(hContact, "e-mail", szEmail)) MraWPRequestByEMail(hContact, ACKTYPE_GETINFO, szEmail); } } @@ -54,12 +54,12 @@ INT_PTR CMraProto::MraUpdateAllUsersInfo(WPARAM wParam, LPARAM lParam) INT_PTR CMraProto::MraCheckUpdatesUsersAvt(WPARAM wParam, LPARAM lParam) { - if ( MessageBox(NULL, TranslateT("Are you sure?"), TranslateT(MRA_CHK_USERS_AVATARS_STR), MB_YESNO | MB_ICONQUESTION) == IDYES) { + if (MessageBox(NULL, TranslateT("Are you sure?"), TranslateT(MRA_CHK_USERS_AVATARS_STR), MB_YESNO | MB_ICONQUESTION) == IDYES) { for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { CMStringA szEmail; if (mraGetStringA(hContact, "e-mail", szEmail)) - if ( !IsEMailChatAgent(szEmail)) - MraAvatarsQueueGetAvatarSimple(hAvatarsQueueHandle, 0, hContact, 0); + if (!IsEMailChatAgent(szEmail)) + MraAvatarsQueueGetAvatarSimple(hAvatarsQueueHandle, 0, hContact, 0); } } return 0; @@ -67,7 +67,7 @@ INT_PTR CMraProto::MraCheckUpdatesUsersAvt(WPARAM wParam, LPARAM lParam) INT_PTR CMraProto::MraRequestAuthForAll(WPARAM wParam, LPARAM lParam) { - if ( MessageBox(NULL, TranslateT("Are you sure?"), TranslateT(MRA_REQ_AUTH_FOR_ALL_STR), MB_YESNO | MB_ICONQUESTION) == IDYES) { + if (MessageBox(NULL, TranslateT("Are you sure?"), TranslateT(MRA_REQ_AUTH_FOR_ALL_STR), MB_YESNO | MB_ICONQUESTION) == IDYES) { for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { DWORD dwContactSeverFlags; if (GetContactBasicInfoW(hContact, NULL, NULL, NULL, &dwContactSeverFlags, NULL, NULL, NULL, NULL) == NO_ERROR) @@ -85,12 +85,12 @@ INT_PTR CMraProto::MraRequestAuthorization(WPARAM wParam, LPARAM lParam) return 0; CMStringW wszAuthMessage; - if ( !mraGetStringW(NULL, "AuthMessage", wszAuthMessage)) + if (!mraGetStringW(NULL, "AuthMessage", wszAuthMessage)) wszAuthMessage = TranslateT(MRA_DEFAULT_AUTH_MESSAGE); - if ( !wszAuthMessage.IsEmpty()) { + if (!wszAuthMessage.IsEmpty()) { CMStringA szEmail; - if ( mraGetStringA(hContact, "e-mail", szEmail)) { + if (mraGetStringA(hContact, "e-mail", szEmail)) { BOOL bSlowSend = getByte("SlowSend", MRA_DEFAULT_SLOW_SEND); int iRet = MraMessage(bSlowSend, hContact, ACKTYPE_AUTHREQ, MESSAGE_FLAG_AUTHORIZE, szEmail, wszAuthMessage, NULL, 0); if (bSlowSend == FALSE) @@ -125,7 +125,7 @@ INT_PTR CMraProto::MraSendPostcard(WPARAM wParam, LPARAM lParam) if (dwContactEMailCount) { if (dwContactEMailCount == 1) { CMStringA szUrl, szEmail; - if ( GetContactFirstEMail((HANDLE)wParam, FALSE, szEmail)) { + if (GetContactFirstEMail((HANDLE)wParam, FALSE, szEmail)) { szEmail.MakeLower(); szUrl.Format("http://cards.mail.ru/event.html?rcptname=%s&rcptemail=%s", GetContactNameA((HANDLE)wParam), szEmail); MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl); @@ -145,7 +145,7 @@ INT_PTR CMraProto::MraViewAlbum(WPARAM wParam, LPARAM lParam) if (dwContactEMailMRCount) { if (dwContactEMailMRCount == 1) { CMStringA szEmail; - if ( GetContactFirstEMail((HANDLE)wParam, TRUE, szEmail)) + if (GetContactFirstEMail((HANDLE)wParam, TRUE, szEmail)) MraMPopSessionQueueAddUrlAndEMail(hMPopSessionQueue, MRA_FOTO_URL, szEmail); } else MraSelectEMailDlgShow((HANDLE)wParam, MRA_SELECT_EMAIL_TYPE_VIEW_ALBUM); @@ -177,7 +177,7 @@ INT_PTR CMraProto::MraReplyBlogStatus(WPARAM wParam, LPARAM lParam) CMStringW blogStatusMsg; mraGetStringW((HANDLE)wParam, DBSETTING_BLOGSTATUS, blogStatusMsg); - if (!blogStatusMsg.IsEmpty()|| wParam == 0) + if (!blogStatusMsg.IsEmpty() || wParam == 0) MraSendReplyBlogStatus((HANDLE)wParam); return 0; @@ -294,11 +294,11 @@ int CMraProto::MraRebuildContactMenu(WPARAM wParam, LPARAM lParam) int CMraProto::MraRebuildStatusMenu(WPARAM wParam, LPARAM lParam) { - CHAR szServiceFunction[MAX_PATH*2], *pszServiceFunctionName, szValueName[MAX_PATH]; + CHAR szServiceFunction[MAX_PATH * 2], *pszServiceFunctionName, szValueName[MAX_PATH]; strncpy(szServiceFunction, m_szModuleName, sizeof(szServiceFunction)); pszServiceFunctionName = szServiceFunction + strlen(m_szModuleName); - TCHAR szItem[MAX_PATH+64]; + TCHAR szItem[MAX_PATH + 64]; mir_sntprintf(szItem, SIZEOF(szItem), _T("%s Custom Status"), m_tszUserName); CLISTMENUITEM mi = { sizeof(mi) }; @@ -310,12 +310,12 @@ int CMraProto::MraRebuildStatusMenu(WPARAM wParam, LPARAM lParam) mi.pszContactOwner = m_szModuleName; CMStringW szStatusTitle; - for (size_t i = 0; i < MRA_XSTATUS_COUNT; i++) { + for (size_t i = 0; i < MRA_XSTATUS_COUNT; i++) { mir_snprintf(pszServiceFunctionName, 100, "/menuXStatus%ld", i); mi.position++; if (i) { mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldName", i); - if ( mraGetStringW(NULL, szValueName, szStatusTitle)) + if (mraGetStringW(NULL, szValueName, szStatusTitle)) mi.ptszName = (TCHAR*)szStatusTitle.c_str(); else mi.ptszName = lpcszXStatusNameDef[i]; @@ -389,19 +389,19 @@ HGENMENU CMraProto::CListCreateMenu(LONG lPosition, LONG lPopupPosition, BOOL bI void CMraProto::InitMenus() { - CreateProtoService(MRA_GOTO_INBOX, &CMraProto::MraGotoInbox); - CreateProtoService(MRA_SHOW_INBOX_STATUS, &CMraProto::MraShowInboxStatus); - CreateProtoService(MRA_EDIT_PROFILE, &CMraProto::MraEditProfile); - CreateProtoService(MRA_VIEW_ALBUM, &CMraProto::MraViewAlbum); - CreateProtoService(MRA_READ_BLOG, &CMraProto::MraReadBlog); - CreateProtoService(MRA_REPLY_BLOG_STATUS, &CMraProto::MraReplyBlogStatus); - CreateProtoService(MRA_VIEW_VIDEO, &CMraProto::MraViewVideo); - CreateProtoService(MRA_ANSWERS, &CMraProto::MraAnswers); - CreateProtoService(MRA_WORLD, &CMraProto::MraWorld); - CreateProtoService(MRA_WEB_SEARCH, &CMraProto::MraWebSearch); + CreateProtoService(MRA_GOTO_INBOX, &CMraProto::MraGotoInbox); + CreateProtoService(MRA_SHOW_INBOX_STATUS, &CMraProto::MraShowInboxStatus); + CreateProtoService(MRA_EDIT_PROFILE, &CMraProto::MraEditProfile); + CreateProtoService(MRA_VIEW_ALBUM, &CMraProto::MraViewAlbum); + CreateProtoService(MRA_READ_BLOG, &CMraProto::MraReadBlog); + CreateProtoService(MRA_REPLY_BLOG_STATUS, &CMraProto::MraReplyBlogStatus); + CreateProtoService(MRA_VIEW_VIDEO, &CMraProto::MraViewVideo); + CreateProtoService(MRA_ANSWERS, &CMraProto::MraAnswers); + CreateProtoService(MRA_WORLD, &CMraProto::MraWorld); + CreateProtoService(MRA_WEB_SEARCH, &CMraProto::MraWebSearch); CreateProtoService(MRA_UPD_ALL_USERS_INFO, &CMraProto::MraUpdateAllUsersInfo); - CreateProtoService(MRA_CHK_USERS_AVATARS, &CMraProto::MraCheckUpdatesUsersAvt); - CreateProtoService(MRA_REQ_AUTH_FOR_ALL, &CMraProto::MraRequestAuthForAll); + CreateProtoService(MRA_CHK_USERS_AVATARS, &CMraProto::MraCheckUpdatesUsersAvt); + CreateProtoService(MRA_REQ_AUTH_FOR_ALL, &CMraProto::MraRequestAuthForAll); hContactMenuRoot = CListCreateMenu(-2000001001, -500050000, FALSE, gdiContactMenuItems, CONTACT_MENU_ITEMS_COUNT, hContactMenuItems); diff --git a/protocols/MRA/src/Mra_proto.cpp b/protocols/MRA/src/Mra_proto.cpp index 7488174e03..1ef3f495af 100644 --- a/protocols/MRA/src/Mra_proto.cpp +++ b/protocols/MRA/src/Mra_proto.cpp @@ -34,7 +34,7 @@ void CMraProto::MraThreadProc(LPVOID lpParameter) BOOL bConnected = FALSE; CMStringA szHost; DWORD dwConnectReTryCount, dwCurConnectReTryCount; - NETLIBOPENCONNECTION nloc = {0}; + NETLIBOPENCONNECTION nloc = { 0 }; SleepEx(100, FALSE);// to prevent high CPU load by some status plugins like allwaysonline @@ -54,7 +54,7 @@ void CMraProto::MraThreadProc(LPVOID lpParameter) InterlockedExchange((volatile LONG*)&m_dwThreadWorkerLastPingTime, GetTickCount()); m_hConnection = (HANDLE)CallService(MS_NETLIB_OPENCONNECTION, (WPARAM)m_hNetlibUser, (LPARAM)&nloc); } - while (--dwCurConnectReTryCount && m_hConnection == NULL); + while (--dwCurConnectReTryCount && m_hConnection == NULL); if (m_hConnection) bConnected = TRUE; @@ -69,7 +69,7 @@ void CMraProto::MraThreadProc(LPVOID lpParameter) if (nloc.wPort == MRA_SERVER_PORT_STANDART_NLB) nloc.wPort = MRA_SERVER_PORT_STANDART; } - for (DWORD i = 1;(i= sizeof(mrim_packet_header_t)) { // packet OK if (pmaHeader->magic == CS_MAGIC) { // full packet received, may be more than one - if ((dwDataCurrentBuffSizeUsed-sizeof(mrim_packet_header_t)) >= pmaHeader->dlen) { + if ((dwDataCurrentBuffSizeUsed - sizeof(mrim_packet_header_t)) >= pmaHeader->dlen) { bContinue = MraCommandDispatcher(pmaHeader); // move pointer to next packet in buffer if (dwDataCurrentBuffSizeUsed - sizeof(mrim_packet_header_t) > pmaHeader->dlen) - dwDataCurrentBuffOffset += sizeof(mrim_packet_header_t) + pmaHeader->dlen; + dwDataCurrentBuffOffset += sizeof(mrim_packet_header_t)+pmaHeader->dlen; // move pointer to begin of buffer else { // динамическое уменьшение буффера приёма @@ -305,7 +305,7 @@ DWORD CMraProto::MraNetworkDispatcher() // not all packet received, continue receiving else { if (dwDataCurrentBuffOffset) { - memmove(lpbBufferRcv, (lpbBufferRcv+dwDataCurrentBuffOffset), dwDataCurrentBuffSizeUsed); + memmove(lpbBufferRcv, (lpbBufferRcv + dwDataCurrentBuffOffset), dwDataCurrentBuffSizeUsed); dwRcvBuffSizeUsed = dwDataCurrentBuffSizeUsed; dwDataCurrentBuffOffset = 0; } @@ -324,7 +324,7 @@ DWORD CMraProto::MraNetworkDispatcher() // packet to small, continue receiving else { debugLogW(L"Packet to small, continue receiving\n"); - memmove(lpbBufferRcv, (lpbBufferRcv+dwDataCurrentBuffOffset), dwDataCurrentBuffSizeUsed); + memmove(lpbBufferRcv, (lpbBufferRcv + dwDataCurrentBuffOffset), dwDataCurrentBuffSizeUsed); dwRcvBuffSizeUsed = dwDataCurrentBuffSizeUsed; dwDataCurrentBuffOffset = 0; break; @@ -353,7 +353,7 @@ bool CMraProto::CmdHelloAck(BinBuffer &buf) buf >> m_dwPingPeriod; CMStringA szPass; - if ( !GetPassDB(szPass)) + if (!GetPassDB(szPass)) return false; char szValueName[MAX_PATH]; @@ -362,9 +362,9 @@ bool CMraProto::CmdHelloAck(BinBuffer &buf) DWORD dwXStatusMir = m_iXStatus, dwXStatus; DWORD dwStatus = GetMraStatusFromMiradaStatus(m_iDesiredStatus, dwXStatusMir, &dwXStatus); - if ( IsXStatusValid(dwXStatusMir)) {// xstatuses + if (IsXStatusValid(dwXStatusMir)) {// xstatuses mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldName", dwXStatusMir); - if ( !mraGetStringW(NULL, szValueName, wszStatusTitle)) + if (!mraGetStringW(NULL, szValueName, wszStatusTitle)) wszStatusTitle = TranslateTS(lpcszXStatusNameDef[dwXStatusMir]); mir_snprintf(szValueName, SIZEOF(szValueName), "XStatus%ldMsg", dwXStatusMir); @@ -373,14 +373,14 @@ bool CMraProto::CmdHelloAck(BinBuffer &buf) else wszStatusTitle = pcli->pfnGetStatusModeDescription(m_iDesiredStatus, 0); CMStringA szSelfVersionString = MraGetSelfVersionString(); - if ( !mraGetStringA(NULL, "MirVerCustom", szUserAgentFormatted)) + if (!mraGetStringA(NULL, "MirVerCustom", szUserAgentFormatted)) szUserAgentFormatted.Format( - "client=\"magent\" name=\"Miranda NG\" title=\"%s\" version=\"777.%lu.%lu.%lu\" build=\"%lu\" protocol=\"%lu.%lu\"", - szSelfVersionString, __FILEVERSION_STRING, PROTO_VERSION_MAJOR, PROTO_VERSION_MINOR); + "client=\"magent\" name=\"Miranda NG\" title=\"%s\" version=\"777.%lu.%lu.%lu\" build=\"%lu\" protocol=\"%lu.%lu\"", + szSelfVersionString, __FILEVERSION_STRING, PROTO_VERSION_MAJOR, PROTO_VERSION_MINOR); DWORD dwFutureFlags = (getByte("RTFReceiveEnable", MRA_DEFAULT_RTF_RECEIVE_ENABLE) ? FEATURE_FLAG_RTF_MESSAGE : 0) | MRA_FEATURE_FLAGS; - if ( !mraGetStringA(NULL, "e-mail", szEmail)) + if (!mraGetStringA(NULL, "e-mail", szEmail)) return false; MraLogin2W(szEmail, szPass, dwStatus, CMStringA(lpcszStatusUri[dwXStatus]), wszStatusTitle, wszStatusDesc, dwFutureFlags, szUserAgentFormatted, szSelfVersionString); @@ -421,9 +421,9 @@ bool CMraProto::CmdMessageAck(BinBuffer &buf) buf >> szMultiChatData; // LPS multichat_data // подтверждаем получение, только если удалось его обработать - if ( MraRecvCommand_Message((DWORD)_time32(NULL), dwFlags, szEmail, szText, szRTFText, szMultiChatData) == NO_ERROR) - if ((dwFlags & MESSAGE_FLAG_NORECV) == 0) - MraMessageRecv(szEmail, dwMsgID); + if (MraRecvCommand_Message((DWORD)_time32(NULL), dwFlags, szEmail, szText, szRTFText, szMultiChatData) == NO_ERROR) + if ((dwFlags & MESSAGE_FLAG_NORECV) == 0) + MraMessageRecv(szEmail, dwMsgID); return true; } @@ -431,7 +431,7 @@ bool CMraProto::CmdMessageStatus(ULONG seq, BinBuffer &buf) { DWORD dwAckType, dwTemp = buf.getDword(); HANDLE hContact; - if ( !MraSendQueueFind(hSendQueueHandle, seq, NULL, &hContact, &dwAckType, NULL, NULL)) { + if (!MraSendQueueFind(hSendQueueHandle, seq, NULL, &hContact, &dwAckType, NULL, NULL)) { switch (dwTemp) { case MESSAGE_DELIVERED:// Message delivered directly to user ProtoBroadcastAckAsync(hContact, dwAckType, ACKRESULT_SUCCESS, (HANDLE)seq, 0); @@ -517,9 +517,8 @@ bool CMraProto::CmdUserInfo(BinBuffer &buf) mraSetStringW(NULL, DBSETTING_BLOGSTATUS, szStringW); } else if (szString == "HAS_MYMAIL" || szString == "mrim.status.open_search" || szString == "rb.target.cookie" || - szString == "show_web_history_link" || szString == "friends_suggest" || szString == "timestamp" || - szString == "trusted_update" || szString == "mrim.wp.dating") - { + szString == "show_web_history_link" || szString == "friends_suggest" || szString == "timestamp" || + szString == "trusted_update" || szString == "mrim.wp.dating") { buf >> szString; } else _CrtDbgBreak(); @@ -618,10 +617,10 @@ bool CMraProto::CmdFileTransfer(BinBuffer &buf) if (bAdded) MraUpdateContactInfo(hContact); - if ( wszFilesW.IsEmpty()) + if (wszFilesW.IsEmpty()) wszFilesW = szFiles; - if ( !wszFilesW.IsEmpty()) + if (!wszFilesW.IsEmpty()) MraFilesQueueAddReceive(hFilesQueueHandle, 0, hContact, dwIDRequest, wszFilesW, szAddresses); return true; } @@ -707,13 +706,13 @@ bool CMraProto::CmdUserStatus(BinBuffer &buf) bool CMraProto::CmdContactAck(int cmd, int seq, BinBuffer &buf) { DWORD dwAckType; HANDLE hContact; LPBYTE pData; size_t dataLen; - if ( !MraSendQueueFind(hSendQueueHandle, seq, NULL, &hContact, &dwAckType, &pData, &dataLen)) { + if (!MraSendQueueFind(hSendQueueHandle, seq, NULL, &hContact, &dwAckType, &pData, &dataLen)) { DWORD dwTemp = buf.getDword(); switch (dwTemp) { case CONTACT_OPER_SUCCESS:// ## добавление произведено успешно if (cmd == MRIM_CS_ADD_CONTACT_ACK) { DWORD dwFlags = SCBIF_ID | SCBIF_SERVER_FLAG, dwGroupID = 0; - ptrT grpName( db_get_tsa(hContact, "CList", "Group")); + ptrT grpName(db_get_tsa(hContact, "CList", "Group")); if (grpName) { dwFlags |= SCBIF_GROUP_ID; dwGroupID = MraMoveContactToGroup(hContact, -1, grpName); @@ -755,12 +754,12 @@ bool CMraProto::CmdContactAck(int cmd, int seq, BinBuffer &buf) bool CMraProto::CmdAnketaInfo(int seq, BinBuffer &buf) { DWORD dwAckType, dwFlags; HANDLE hContact; LPBYTE pData; size_t dataLen; - if ( MraSendQueueFind(hSendQueueHandle, seq, &dwFlags, &hContact, &dwAckType, &pData, &dataLen)) { + if (MraSendQueueFind(hSendQueueHandle, seq, &dwFlags, &hContact, &dwAckType, &pData, &dataLen)) { MraPopupShowFromAgentW(MRA_POPUP_TYPE_DEBUG, 0, TranslateT("MRIM_ANKETA_INFO: not found in queue")); return true; } - switch(buf.getDword()) { + switch (buf.getDword()) { case MRIM_ANKETA_INFO_STATUS_NOUSER:// не найдено ни одной подходящей записи SetContactBasicInfoW(hContact, 0, SCBIF_SERVER_FLAG, 0, 0, 0, -1, 0, 0, 0, 0); case MRIM_ANKETA_INFO_STATUS_DBERR:// ошибка базы данных @@ -826,10 +825,10 @@ bool CMraProto::CmdAnketaInfo(int seq, BinBuffer &buf) else if (fld == "Birthday") { buf >> val; if (val.GetLength() > 9) {// calc "Age" - SYSTEMTIME stTime = {0}; - stTime.wYear = (WORD)StrToUNum32(val.c_str(), 4); - stTime.wMonth = (WORD)StrToUNum32(val.c_str()+5, 2); - stTime.wDay = (WORD)StrToUNum32(val.c_str()+8, 2); + SYSTEMTIME stTime = { 0 }; + stTime.wYear = (WORD)StrToUNum32(val.c_str(), 4); + stTime.wMonth = (WORD)StrToUNum32(val.c_str() + 5, 2); + stTime.wDay = (WORD)StrToUNum32(val.c_str() + 8, 2); setWord(hContact, "BirthYear", stTime.wYear); setByte(hContact, "BirthMonth", (BYTE)stTime.wMonth); setByte(hContact, "BirthDay", (BYTE)stTime.wDay); @@ -941,12 +940,12 @@ bool CMraProto::CmdAnketaInfo(int seq, BinBuffer &buf) } } else if (dwAckType == ACKTYPE_SEARCH) { - TCHAR szNick[MAX_EMAIL_LEN] = {0}, - szFirstName[MAX_EMAIL_LEN] = {0}, - szLastName[MAX_EMAIL_LEN] = {0}, - szEmail[MAX_EMAIL_LEN] = {0}; + TCHAR szNick[MAX_EMAIL_LEN] = { 0 }, + szFirstName[MAX_EMAIL_LEN] = { 0 }, + szLastName[MAX_EMAIL_LEN] = { 0 }, + szEmail[MAX_EMAIL_LEN] = { 0 }; CMStringA mralpsUsernameValue; - PROTOSEARCHRESULT psr = {0}; + PROTOSEARCHRESULT psr = { 0 }; psr.cbSize = sizeof(psr); psr.flags = PSR_UNICODE; @@ -1092,8 +1091,8 @@ bool CMraProto::CmdClist2(BinBuffer &buf) // add/modify group if (dwControlParam > 1) { // все параметры правильно инициализированны! - if ( !(dwGroupFlags & CONTACT_FLAG_REMOVED)) { - m_groups.insert( new MraGroupItem(dwID, dwGroupFlags, wszGroupName)); + if (!(dwGroupFlags & CONTACT_FLAG_REMOVED)) { + m_groups.insert(new MraGroupItem(dwID, dwGroupFlags, wszGroupName)); Clist_CreateGroup(0, wszGroupName); } @@ -1220,26 +1219,26 @@ bool CMraProto::CmdClist2(BinBuffer &buf) } debugLogA("ID: %lu, Group id: %lu, %s: flags: %lu (", dwID, dwGroupID, szEmail, dwContactFlag); - if (dwContactFlag & CONTACT_FLAG_REMOVED) debugLogA("CONTACT_FLAG_REMOVED, "); - if (dwContactFlag & CONTACT_FLAG_GROUP) debugLogA("CONTACT_FLAG_GROUP, "); - if (dwContactFlag & CONTACT_FLAG_INVISIBLE) debugLogA("CONTACT_FLAG_INVISIBLE, "); - if (dwContactFlag & CONTACT_FLAG_VISIBLE) debugLogA("CONTACT_FLAG_VISIBLE, "); - if (dwContactFlag & CONTACT_FLAG_IGNORE) debugLogA("CONTACT_FLAG_IGNORE, "); - if (dwContactFlag & CONTACT_FLAG_SHADOW) debugLogA("CONTACT_FLAG_SHADOW, "); - if (dwContactFlag & CONTACT_FLAG_AUTHORIZED) debugLogA("CONTACT_FLAG_AUTHORIZED, "); - if (dwContactFlag & CONTACT_FLAG_MULTICHAT) debugLogA("CONTACT_FLAG_MULTICHAT, "); - if (dwContactFlag & CONTACT_FLAG_UNICODE_NAME) debugLogA("CONTACT_FLAG_UNICODE_NAME, "); - if (dwContactFlag & CONTACT_FLAG_PHONE) debugLogA("CONTACT_FLAG_PHONE, "); + if (dwContactFlag & CONTACT_FLAG_REMOVED) debugLogA("CONTACT_FLAG_REMOVED, "); + if (dwContactFlag & CONTACT_FLAG_GROUP) debugLogA("CONTACT_FLAG_GROUP, "); + if (dwContactFlag & CONTACT_FLAG_INVISIBLE) debugLogA("CONTACT_FLAG_INVISIBLE, "); + if (dwContactFlag & CONTACT_FLAG_VISIBLE) debugLogA("CONTACT_FLAG_VISIBLE, "); + if (dwContactFlag & CONTACT_FLAG_IGNORE) debugLogA("CONTACT_FLAG_IGNORE, "); + if (dwContactFlag & CONTACT_FLAG_SHADOW) debugLogA("CONTACT_FLAG_SHADOW, "); + if (dwContactFlag & CONTACT_FLAG_AUTHORIZED) debugLogA("CONTACT_FLAG_AUTHORIZED, "); + if (dwContactFlag & CONTACT_FLAG_MULTICHAT) debugLogA("CONTACT_FLAG_MULTICHAT, "); + if (dwContactFlag & CONTACT_FLAG_UNICODE_NAME) debugLogA("CONTACT_FLAG_UNICODE_NAME, "); + if (dwContactFlag & CONTACT_FLAG_PHONE) debugLogA("CONTACT_FLAG_PHONE, "); debugLogA(")"); debugLogA(": server flags: %lu (", dwContactSeverFlags); - if (dwContactSeverFlags & CONTACT_INTFLAG_NOT_AUTHORIZED) debugLogA("CONTACT_INTFLAG_NOT_AUTHORIZED, "); + if (dwContactSeverFlags & CONTACT_INTFLAG_NOT_AUTHORIZED) debugLogA("CONTACT_INTFLAG_NOT_AUTHORIZED, "); debugLogA(")"); // add/modify contact if (dwGroupID != 103)//***deb filtering phone/sms contats - if ( _strnicmp(szEmail, "phone", 5)) - if (dwControlParam>5)// все параметры правильно инициализированны! + if (_strnicmp(szEmail, "phone", 5)) + if (dwControlParam > 5)// все параметры правильно инициализированны! if ((dwContactFlag & (CONTACT_FLAG_GROUP | CONTACT_FLAG_REMOVED)) == 0) { BOOL bAdded; HANDLE hContact = MraHContactFromEmail(szEmail, TRUE, FALSE, &bAdded); @@ -1253,19 +1252,19 @@ bool CMraProto::CmdClist2(BinBuffer &buf) dwTemp = GetMirandaStatusFromMraStatus(dwStatus, GetMraXStatusIDFromMraUriStatus(szSpecStatusUri), &dwXStatus); if (bAdded) { // update user info - SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, (SCBIF_ID|SCBIF_GROUP_ID|SCBIF_FLAG|SCBIF_SERVER_FLAG|SCBIF_STATUS|SCBIF_NICK|SCBIF_PHONES), + SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, (SCBIF_ID | SCBIF_GROUP_ID | SCBIF_FLAG | SCBIF_SERVER_FLAG | SCBIF_STATUS | SCBIF_NICK | SCBIF_PHONES), dwID, dwGroupID, dwContactFlag, dwContactSeverFlags, dwTemp, NULL, &wszNick, &szCustomPhones); // request user info from server MraUpdateContactInfo(hContact); } else { if (iGroupMode == 100) { // first start - ptrT tszGroup( db_get_tsa(hContact, "CList", "Group")); + ptrT tszGroup(db_get_tsa(hContact, "CList", "Group")); if (tszGroup) dwGroupID = MraMoveContactToGroup(hContact, dwGroupID, tszGroup); } - SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, (SCBIF_ID|SCBIF_GROUP_ID|SCBIF_SERVER_FLAG|SCBIF_STATUS), + SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, (SCBIF_ID | SCBIF_GROUP_ID | SCBIF_SERVER_FLAG | SCBIF_STATUS), dwID, dwGroupID, dwContactFlag, dwContactSeverFlags, dwTemp, NULL, &wszNick, &szCustomPhones); if (wszNick.IsEmpty()) { // set the server-side nick wszNick = GetContactNameW(hContact); @@ -1281,11 +1280,11 @@ bool CMraProto::CmdClist2(BinBuffer &buf) mraWriteContactSettingBlob(hContact, DBSETTING_BLOGSTATUSID, &dwBlogStatusID.QuadPart, sizeof(DWORDLONG)); mraSetStringW(hContact, DBSETTING_BLOGSTATUS, wszBlogStatus); mraSetStringW(hContact, DBSETTING_BLOGSTATUSMUSIC, wszBlogStatusMusic); - if ( IsXStatusValid(dwXStatus)) + if (IsXStatusValid(dwXStatus)) SetExtraIcons(hContact); if (dwTemp != ID_STATUS_OFFLINE) { // пишем клиента только если юзер не отключён, иначе не затираем старое - if ( !szUserAgentFormatted.IsEmpty()) { + if (!szUserAgentFormatted.IsEmpty()) { if (getByte("MirVerRaw", MRA_DEFAULT_MIRVER_RAW) == FALSE) szUserAgentFormatted = MraGetVersionStringFromFormatted(szUserAgentFormatted); } @@ -1320,14 +1319,14 @@ bool CMraProto::CmdClist2(BinBuffer &buf) MraSetContactStatus(hContact, ID_STATUS_ONLINE); CMStringW wszCustomName = GetContactNameW(hContact); - MraAddContact(hContact, (CONTACT_FLAG_VISIBLE|CONTACT_FLAG_MULTICHAT), -1, szEmail, wszCustomName); + MraAddContact(hContact, (CONTACT_FLAG_VISIBLE | CONTACT_FLAG_MULTICHAT), -1, szEmail, wszCustomName); } else { if (db_get_b(hContact, "CList", "NotOnList", 0) == 0) { // set extra icons and upload contact SetExtraIcons(hContact); if (getByte("AutoAddContactsToServer", MRA_DEFAULT_AUTO_ADD_CONTACTS_TO_SERVER)) { //add all contacts to server GetContactBasicInfoW(hContact, NULL, &dwGroupID, NULL, NULL, NULL, NULL, &wszNick, &szPhones); - MraAddContact(hContact, (CONTACT_FLAG_VISIBLE|CONTACT_FLAG_UNICODE_NAME), dwGroupID, szEmail, wszNick, &szPhones, &wszAuthMessage); + MraAddContact(hContact, (CONTACT_FLAG_VISIBLE | CONTACT_FLAG_UNICODE_NAME), dwGroupID, szEmail, wszNick, &szPhones, &wszAuthMessage); } } } @@ -1340,7 +1339,7 @@ bool CMraProto::CmdClist2(BinBuffer &buf) else { // контакт лист почемуто не получили // всех в offline и id в нестандарт for (HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { - SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, (SCBIF_ID|SCBIF_GROUP_ID|SCBIF_SERVER_FLAG|SCBIF_STATUS), + SetContactBasicInfoW(hContact, SCBIFSI_LOCK_CHANGES_EVENTS, (SCBIF_ID | SCBIF_GROUP_ID | SCBIF_SERVER_FLAG | SCBIF_STATUS), -1, -2, 0, 0, ID_STATUS_OFFLINE, 0, 0, 0); // request user info from server MraUpdateContactInfo(hContact); @@ -1368,7 +1367,7 @@ bool CMraProto::CmdProxy(BinBuffer &buf) buf >> szEmail >> dwIDRequest >> dwAckType >> szString >> szAddresses >> mguidSessionID; if (dwAckType == MRIM_PROXY_TYPE_FILES) { // файлы, on file recv // set proxy info to file transfer context - if ( !MraMrimProxySetData(MraFilesQueueItemProxyByID(hFilesQueueHandle, dwIDRequest), szEmail, dwIDRequest, dwAckType, szString, szAddresses, &mguidSessionID)) + if (!MraMrimProxySetData(MraFilesQueueItemProxyByID(hFilesQueueHandle, dwIDRequest), szEmail, dwIDRequest, dwAckType, szString, szAddresses, &mguidSessionID)) MraFilesQueueStartMrimProxy(hFilesQueueHandle, dwIDRequest); else { // empty/invalid session MraProxyAck(PROXY_STATUS_ERROR, szEmail, dwIDRequest, dwAckType, szString, szAddresses, mguidSessionID); @@ -1394,7 +1393,7 @@ bool CMraProto::CmdProxyAck(BinBuffer &buf) break; case PROXY_STATUS_OK: // set proxy info to file transfer context - if ( !MraMrimProxySetData(hMraMrimProxyData, szEmail, dwIDRequest, dwAckType, szString, szAddresses, &mguidSessionID)) + if (!MraMrimProxySetData(hMraMrimProxyData, szEmail, dwIDRequest, dwAckType, szString, szAddresses, &mguidSessionID)) MraFilesQueueStartMrimProxy(hFilesQueueHandle, dwIDRequest); break; case PROXY_STATUS_ERROR: @@ -1457,7 +1456,7 @@ bool CMraProto::CmdBlogStatus(BinBuffer &buf) bool CMraProto::MraCommandDispatcher(mrim_packet_header_t *pmaHeader) { - WCHAR szBuff[4096] = {0}; + WCHAR szBuff[4096] = { 0 }; DWORD dwTemp, dwAckType; size_t dwSize; HANDLE hContact = NULL; @@ -1509,17 +1508,17 @@ bool CMraProto::MraCommandDispatcher(mrim_packet_header_t *pmaHeader) dwAckType = m_dwEmailMessagesUnread;// save old value m_dwEmailMessagesUnread = dwTemp;// store new value - if (getByte("IncrementalNewMailNotify", MRA_DEFAULT_INC_NEW_MAIL_NOTIFY) == 0 || dwAckType> dwTemp; - if ( MraSendQueueFind(hSendQueueHandle, pmaHeader->seq, NULL, &hContact, &dwAckType, &pByte, &dwSize) == NO_ERROR) { + if (MraSendQueueFind(hSendQueueHandle, pmaHeader->seq, NULL, &hContact, &dwAckType, &pByte, &dwSize) == NO_ERROR) { CMStringA szEmail; if (mraGetStringA(NULL, "e-mail", szEmail)) { DWORD dwPhoneSize = *(DWORD*)pByte; - DWORD dwMessageSize = dwSize-(dwPhoneSize+sizeof(DWORD)+2); + DWORD dwMessageSize = dwSize - (dwPhoneSize + sizeof(DWORD)+2); LPSTR lpszPhone = (LPSTR)pByte + sizeof(DWORD); LPWSTR lpwszMessage = (LPWSTR)(lpszPhone + dwPhoneSize + 1); @@ -1562,7 +1561,7 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & CMStringA lpszMessageExt; CMStringW wszMessage; - PROTORECVEVENT pre = {0}; + PROTORECVEVENT pre = { 0 }; pre.timestamp = dwTime; // check flags and datas @@ -1590,31 +1589,31 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & else { // преобразуем в юникод текст только если он в АНСИ и если это не Флэш мультик и будильник тоже не нуждается в этом CMStringA lpsAuthMessage; buf >> lpsAuthMessage; - wszMessage = ptrW( mir_a2u_cp(lpsAuthMessage, MRA_CODE_PAGE)); + wszMessage = ptrW(mir_a2u_cp(lpsAuthMessage, MRA_CODE_PAGE)); } mir_free(lpbAuthData); } } else { // unicode text - if ((dwFlags & (MESSAGE_FLAG_ALARM|MESSAGE_FLAG_FLASH|MESSAGE_FLAG_v1p16)) && (dwFlags & MESSAGE_FLAG_CP1251) == 0) { + if ((dwFlags & (MESSAGE_FLAG_ALARM | MESSAGE_FLAG_FLASH | MESSAGE_FLAG_v1p16)) && (dwFlags & MESSAGE_FLAG_CP1251) == 0) { plpsText.AppendChar(0); // compensate difference between ASCIIZ & WCHARZ wszMessage = (WCHAR*)plpsText.GetString(); } else wszMessage = plpsText; - if (dwFlags & (MESSAGE_FLAG_CONTACT|MESSAGE_FLAG_NOTIFY|MESSAGE_FLAG_SMS|MESSAGE_SMS_DELIVERY_REPORT|MESSAGE_FLAG_ALARM)) + if (dwFlags & (MESSAGE_FLAG_CONTACT | MESSAGE_FLAG_NOTIFY | MESSAGE_FLAG_SMS | MESSAGE_SMS_DELIVERY_REPORT | MESSAGE_FLAG_ALARM)) ; // do nothing; there's no extra part in a message else { if ((dwFlags & MESSAGE_FLAG_RTF) && !plpsRFTText.IsEmpty()) { //MESSAGE_FLAG_FLASH there - size_t dwRFTBuffSize = ((plpsRFTText.GetLength()*16)+8192); + size_t dwRFTBuffSize = ((plpsRFTText.GetLength() * 16) + 8192); mir_ptr lpbRTFData((LPBYTE)mir_calloc(dwRFTBuffSize)); if (lpbRTFData) { unsigned dwCompressedSize; mir_ptr lpbCompressed((LPBYTE)mir_base64_decode(plpsRFTText, &dwCompressedSize)); DWORD dwRTFDataSize = dwRFTBuffSize; - if ( uncompress(lpbRTFData, &dwRTFDataSize, lpbCompressed, dwCompressedSize) == Z_OK) { + if (uncompress(lpbRTFData, &dwRTFDataSize, lpbCompressed, dwCompressedSize) == Z_OK) { BinBuffer buf(lpbRTFData, dwRTFDataSize); CMStringA lpsRTFString, lpsBackColour, szString; @@ -1659,7 +1658,7 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & mraGetStringA(NULL, "e-mail", szEmail); CMStringW wszMessageXMLEncoded = EncodeXML(wszMessage); - ptrA lpszMessageUTF( mir_utf8encodeW(wszMessageXMLEncoded)); + ptrA lpszMessageUTF(mir_utf8encodeW(wszMessageXMLEncoded)); CMStringA szText; if (dwFlags & MESSAGE_SMS_DELIVERY_REPORT) { @@ -1725,7 +1724,7 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & break; case MULTICHAT_INVITE: MraChatSessionInvite(hContact, lpsEMailInMultiChat, dwTime);// LPS sender - MraAddContact(hContact, (CONTACT_FLAG_VISIBLE|CONTACT_FLAG_MULTICHAT|CONTACT_FLAG_UNICODE_NAME), -1, plpsFrom, lpsMultichatName); + MraAddContact(hContact, (CONTACT_FLAG_VISIBLE | CONTACT_FLAG_MULTICHAT | CONTACT_FLAG_UNICODE_NAME), -1, plpsFrom, lpsMultichatName); break; default: _CrtDbgBreak(); @@ -1735,7 +1734,7 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & else if (dwFlags & MESSAGE_FLAG_AUTHORIZE) { // auth request BOOL bAutoGrantAuth = FALSE; - if ( IsEMailChatAgent(plpsFrom)) + if (IsEMailChatAgent(plpsFrom)) bAutoGrantAuth = FALSE; else { // temporary contact @@ -1769,14 +1768,14 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & db_unset(hContact, "CList", "Hidden"); if (dwFlags & MESSAGE_FLAG_CONTACT) { // contacts received - ptrA lpbBuffer( mir_u2a_cp(wszMessage, MRA_CODE_PAGE)); + ptrA lpbBuffer(mir_u2a_cp(wszMessage, MRA_CODE_PAGE)); pre.flags = 0; pre.szMessage = (LPSTR)lpbBuffer; pre.lParam = strlen(lpbBuffer); LPSTR lpbBufferCurPos = lpbBuffer; while (TRUE) { // цикл замены ; на 0 - lpbBufferCurPos = (LPSTR)MemoryFindByte((lpbBufferCurPos-(LPSTR)lpbBuffer), lpbBuffer, pre.lParam, ';'); + lpbBufferCurPos = (LPSTR)MemoryFindByte((lpbBufferCurPos - (LPSTR)lpbBuffer), lpbBuffer, pre.lParam, ';'); if (!lpbBufferCurPos) break; @@ -1804,7 +1803,7 @@ DWORD CMraProto::MraRecvCommand_Message(DWORD dwTime, DWORD dwFlags, CMStringA & } else { // some plugins can change pre.szMessage pointer and we failed to free it - ptrA lpszMessageUTF( mir_utf8encodeW(wszMessage)); + ptrA lpszMessageUTF(mir_utf8encodeW(wszMessage)); pre.szMessage = lpszMessageUTF; pre.flags = PREF_UTF; ProtoChainRecvMsg(hContact, &pre); @@ -1824,7 +1823,7 @@ DWORD GetMraXStatusIDFromMraUriStatus(const char *szStatusUri) { if (szStatusUri) for (size_t i = 0; lpcszStatusUri[i]; i++) - if ( !_stricmp(lpcszStatusUri[i], szStatusUri)) + if (!_stricmp(lpcszStatusUri[i], szStatusUri)) return i; return MRA_XSTATUS_UNKNOWN; @@ -1832,9 +1831,9 @@ DWORD GetMraXStatusIDFromMraUriStatus(const char *szStatusUri) DWORD GetMraStatusFromMiradaStatus(DWORD dwMirandaStatus, DWORD dwXStatusMir, DWORD *pdwXStatusMra) { - if ( IsXStatusValid(dwXStatusMir)) { + if (IsXStatusValid(dwXStatusMir)) { if (pdwXStatusMra) - *pdwXStatusMra = (dwXStatusMir+MRA_XSTATUS_INDEX_OFFSET-1); + *pdwXStatusMra = (dwXStatusMir + MRA_XSTATUS_INDEX_OFFSET - 1); return STATUS_USER_DEFINED; } @@ -1865,7 +1864,7 @@ DWORD GetMraStatusFromMiradaStatus(DWORD dwMirandaStatus, DWORD dwXStatusMir, DW case ID_STATUS_INVISIBLE: if (pdwXStatusMra) *pdwXStatusMra = MRA_XSTATUS_INVISIBLE; - return (STATUS_ONLINE|STATUS_FLAG_INVISIBLE); + return (STATUS_ONLINE | STATUS_FLAG_INVISIBLE); } if (pdwXStatusMra) *pdwXStatusMra = MRA_XSTATUS_OFFLINE; @@ -1889,7 +1888,7 @@ DWORD GetMirandaStatusFromMraStatus(DWORD dwMraStatus, DWORD dwXStatusMra, DWORD if (pdwXStatusMir) *pdwXStatusMir = MRA_MIR_XSTATUS_UNKNOWN; return ID_STATUS_ONLINE; } - if (pdwXStatusMir) *pdwXStatusMir = dwXStatusMra-MRA_XSTATUS_INDEX_OFFSET+1; + if (pdwXStatusMir) *pdwXStatusMir = dwXStatusMra - MRA_XSTATUS_INDEX_OFFSET + 1; return ID_STATUS_ONLINE; } @@ -1959,7 +1958,7 @@ void BinBuffer::getStringW(CMStringW& ret) m_data += sizeof(DWORD); m_len -= sizeof(DWORD); if (m_len >= dwLen) { - ret = CMStringW((LPWSTR)m_data, dwLen/2); + ret = CMStringW((LPWSTR)m_data, dwLen / 2); m_data += dwLen; m_len -= dwLen; return; diff --git a/protocols/MRA/src/Mra_svcs.cpp b/protocols/MRA/src/Mra_svcs.cpp index c330783513..1eb2167f60 100644 --- a/protocols/MRA/src/Mra_svcs.cpp +++ b/protocols/MRA/src/Mra_svcs.cpp @@ -315,10 +315,10 @@ INT_PTR CMraProto::MraSetListeningTo(WPARAM wParam, LPARAM lParam) } else if (pliInfo->dwFlags & LTI_UNICODE) { CMStringW wszListeningTo; - if ( ServiceExists(MS_LISTENINGTO_GETPARSEDTEXT)) + if (ServiceExists(MS_LISTENINGTO_GETPARSEDTEXT)) wszListeningTo = ptrT((LPWSTR)CallService(MS_LISTENINGTO_GETPARSEDTEXT, (WPARAM)L"%track%. %title% - %artist% - %player%", (LPARAM)pliInfo)); else - wszListeningTo.Format(L"%s. %s - %s - %s", pliInfo->ptszTrack?pliInfo->ptszTrack:_T(""), pliInfo->ptszTitle?pliInfo->ptszTitle:_T(""), pliInfo->ptszArtist?pliInfo->ptszArtist:_T(""), pliInfo->ptszPlayer?pliInfo->ptszPlayer:_T("")); + wszListeningTo.Format(L"%s. %s - %s - %s", pliInfo->ptszTrack ? pliInfo->ptszTrack : _T(""), pliInfo->ptszTitle ? pliInfo->ptszTitle : _T(""), pliInfo->ptszArtist ? pliInfo->ptszArtist : _T(""), pliInfo->ptszPlayer ? pliInfo->ptszPlayer : _T("")); mraSetStringExW(NULL, DBSETTING_BLOGSTATUSMUSIC, wszListeningTo); MraChangeUserBlogStatus(MRIM_BLOG_STATUS_MUSIC, wszListeningTo, 0); @@ -339,14 +339,12 @@ int CMraProto::MraMusicChanged(WPARAM wParam, LPARAM lParam) break; case WAT_EVENT_NEWTRACK: - { - SONGINFO *psiSongInfo; - if (WAT_RES_OK == CallService(MS_WAT_GETMUSICINFO, WAT_INF_UNICODE, (LPARAM)&psiSongInfo)) { - CMStringW wszMusic; - wszMusic.Format(_T("%ld. %s - %s - %s"), psiSongInfo->track, psiSongInfo->artist, psiSongInfo->title, psiSongInfo->player); - mraSetStringExW(NULL, DBSETTING_BLOGSTATUSMUSIC, wszMusic); - MraChangeUserBlogStatus(MRIM_BLOG_STATUS_MUSIC, wszMusic, 0); - } + SONGINFO *psiSongInfo; + if (WAT_RES_OK == CallService(MS_WAT_GETMUSICINFO, WAT_INF_UNICODE, (LPARAM)&psiSongInfo)) { + CMStringW wszMusic; + wszMusic.Format(_T("%ld. %s - %s - %s"), psiSongInfo->track, psiSongInfo->artist, psiSongInfo->title, psiSongInfo->player); + mraSetStringExW(NULL, DBSETTING_BLOGSTATUSMUSIC, wszMusic); + MraChangeUserBlogStatus(MRIM_BLOG_STATUS_MUSIC, wszMusic, 0); } break; } @@ -398,13 +396,13 @@ INT_PTR CMraProto::MraSetXStatusEx(WPARAM wParam, LPARAM lParam) if (pData->flags & CSSF_MASK_STATUS) { dwXStatus = *pData->status; - if ( IsXStatusValid(dwXStatus) == FALSE && dwXStatus != MRA_MIR_XSTATUS_NONE) + if (IsXStatusValid(dwXStatus) == FALSE && dwXStatus != MRA_MIR_XSTATUS_NONE) iRet = 1; } else dwXStatus = m_iXStatus; - if (pData->flags & (CSSF_MASK_NAME|CSSF_MASK_MESSAGE) && iRet == 0) { - if ( IsXStatusValid(dwXStatus) || dwXStatus == MRA_MIR_XSTATUS_NONE) { + if (pData->flags & (CSSF_MASK_NAME | CSSF_MASK_MESSAGE) && iRet == 0) { + if (IsXStatusValid(dwXStatus) || dwXStatus == MRA_MIR_XSTATUS_NONE) { CHAR szValueName[MAX_PATH]; // set custom status name @@ -434,17 +432,17 @@ INT_PTR CMraProto::MraSetXStatusEx(WPARAM wParam, LPARAM lParam) } } // неудача только если мы не ставили Хстатус и попытались записать сообщения для "нет" статуса - else if ( !(pData->flags & CSSF_MASK_STATUS)) + else if (!(pData->flags & CSSF_MASK_STATUS)) iRet = 1; } // set/update xstatus code and/or message - if (pData->flags & (CSSF_MASK_STATUS|CSSF_MASK_NAME|CSSF_MASK_MESSAGE) && iRet == 0) + if (pData->flags & (CSSF_MASK_STATUS | CSSF_MASK_NAME | CSSF_MASK_MESSAGE) && iRet == 0) MraSetXStatusInternal(dwXStatus); // hide menu items if (pData->flags & CSSF_DISABLE_UI) { - bHideXStatusUI = (*pData->wParam)? FALSE:TRUE; + bHideXStatusUI = (*pData->wParam) ? FALSE : TRUE; for (DWORD i = 0; i < MRA_XSTATUS_COUNT; i++) Menu_ShowItem(hXStatusMenuItems[i], !bHideXStatusUI); } @@ -561,8 +559,8 @@ INT_PTR CMraProto::MraSendNudge(WPARAM wParam, LPARAM lParam) CMStringA szEmail; if (mraGetStringA(hContact, "e-mail", szEmail)) - if (MraMessage(FALSE, hContact, 0, (MESSAGE_FLAG_RTF | MESSAGE_FLAG_ALARM), szEmail, lpwszAlarmMessage, NULL, 0)) - return 0; + if (MraMessage(FALSE, hContact, 0, (MESSAGE_FLAG_RTF | MESSAGE_FLAG_ALARM), szEmail, lpwszAlarmMessage, NULL, 0)) + return 0; } return 1; } -- cgit v1.2.3