From 5174b6de32477883b4efe1235643c9faa273521b Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 2 Jul 2014 15:18:50 +0000 Subject: finally wiping all obsolete stuff from 0.95 git-svn-id: http://svn.miranda-ng.org/main/trunk@9644 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Db3x_mmap/src/dbheaders.cpp | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'plugins/Db3x_mmap/src/dbheaders.cpp') diff --git a/plugins/Db3x_mmap/src/dbheaders.cpp b/plugins/Db3x_mmap/src/dbheaders.cpp index 102fd56fac..8f39fada64 100644 --- a/plugins/Db3x_mmap/src/dbheaders.cpp +++ b/plugins/Db3x_mmap/src/dbheaders.cpp @@ -52,19 +52,41 @@ int CDb3Mmap::CreateDbHeaders(const DBSignature& _sign) return 0; } +///////////////////////////////////////////////////////////////////////////////////////// + +static TCHAR tszOldHeaders[] = _T("Miranda cannot open the obsolete database. Press Yes to download a solution or No to cancel"); + int CDb3Mmap::CheckDbHeaders() { - if (memcmp(m_dbHeader.signature, &dbSignatureU, sizeof(m_dbHeader.signature)) && - memcmp(m_dbHeader.signature, &dbSignatureE, sizeof(m_dbHeader.signature)) && - memcmp(m_dbHeader.signature, &dbSignatureIM, sizeof(m_dbHeader.signature))) + if (memcmp(m_dbHeader.signature, &dbSignatureU, sizeof(m_dbHeader.signature)) && + memcmp(m_dbHeader.signature, &dbSignatureE, sizeof(m_dbHeader.signature))) + { + if (!memcmp(&m_dbHeader.signature, &dbSignatureIM, sizeof(m_dbHeader.signature)) || + !memcmp(&m_dbHeader.signature, &dbSignatureSA, sizeof(m_dbHeader.signature)) || + !memcmp(&m_dbHeader.signature, &dbSignatureSD, sizeof(m_dbHeader.signature))) + { + if (IDYES == MessageBox(NULL, TranslateTS(tszOldHeaders), TranslateT("Obsolete database format"), MB_YESNO | MB_ICONHAND)) { + TCHAR tszCurPath[MAX_PATH]; + GetModuleFileName(NULL, tszCurPath, SIZEOF(tszCurPath)); + + HKEY hPathSetting; + if (!RegCreateKey(HKEY_CURRENT_USER, _T("Software\\Miranda NG"), &hPathSetting)) { + RegSetValue(hPathSetting, _T("InstallPath"), REG_SZ, tszCurPath, sizeof(tszCurPath)); + RegCloseKey(hPathSetting); + } + + CallService(MS_UTILS_OPENURL, 0, LPARAM("http://wiki.miranda-ng.org/index.php?title=Updating_pre-0.94.9_version_to_0.95.1_and_later")); + exit(0); + } + } return EGROKPRF_UNKHEADER; + } switch (m_dbHeader.version) { case DB_095_1_VERSION: case DB_095_VERSION: - case DB_094_VERSION: - case DB_OLD_VERSION: break; + default: return EGROKPRF_VERNEWER; } -- cgit v1.2.3