summaryrefslogtreecommitdiff
path: root/updater
diff options
context:
space:
mode:
Diffstat (limited to 'updater')
-rw-r--r--updater/extern.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/updater/extern.cpp b/updater/extern.cpp
index 7c0feda..4e73301 100644
--- a/updater/extern.cpp
+++ b/updater/extern.cpp
@@ -28,21 +28,29 @@ int ExternProcess(bool restart) {
return 1;
}
- char db_name[100], db_path[MAX_PATH];
+ TCHAR db_pathT[MAX_PATH];
- // Get Miranda exe path and profile
- CallService(MS_DB_GETPROFILENAME, SIZEOF(db_name), (WPARAM)(char*) db_name);
- CallService(MS_DB_GETPROFILEPATH, SIZEOF(db_path), (WPARAM)(char*) db_path);
+ if (CallService(MS_SYSTEM_GETVERSION, 0, 0) >= PLUGIN_MAKE_VERSION(0,9,0,12))
+ {
+ TCHAR *p = Utils_ReplaceVarsT(_T("%miranda_profile%\\%miranda_profilename%\\%miranda_profilename%.dat"));
+ mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s"), p);
+ mir_free(p);
+ }
+ else
+ {
+ char db_name[100], db_path[MAX_PATH];
+
+ // Get Miranda exe path and profile
+ CallService(MS_DB_GETPROFILENAME, SIZEOF(db_name), (WPARAM)db_name);
+ CallService(MS_DB_GETPROFILEPATH, SIZEOF(db_path), (WPARAM)db_path);
- TCHAR db_pathT[MAX_PATH], *t1, *t2;
- mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s\\%s"), (t1=mir_a2t(db_path)), (t2=mir_a2t(db_name)));
- mir_free(t1); mir_free(t2);
+ TCHAR *t1, *t2;
+ mir_sntprintf(db_pathT, SIZEOF(db_pathT), _T("%s\\%s"), (t1=mir_a2t(db_path)), (t2=mir_a2t(db_name)));
+ mir_free(t1); mir_free(t2);
+ }
// get plugin folder
- REPLACEVARSDATA dat = {0};
- dat.cbSize = sizeof(dat);
- dat.dwFlags = RVF_TCHAR;
- TCHAR* plugins_folder = (TCHAR*)CallService(MS_UTILS_REPLACEVARS, (WPARAM)_T("%miranda_path%\\Plugins"), (LPARAM)&dat);
+ TCHAR* plugins_folder = Utils_ReplaceVarsT(_T("%miranda_path%\\Plugins"));
TCHAR mir_exe[MAX_PATH];
GetModuleFileName(NULL, mir_exe, SIZEOF(mir_exe));