summaryrefslogtreecommitdiff
path: root/plugins/Weather/src/weather_ini.cpp
diff options
context:
space:
mode:
authorTobias Weimer <wishmaster51@googlemail.com>2015-02-05 20:41:03 +0000
committerTobias Weimer <wishmaster51@googlemail.com>2015-02-05 20:41:03 +0000
commite9b379bc27f64fc5d31fd894c95a1da5a18f1795 (patch)
treecc530448e2c29f256c45549d27e8fd3ea2adf4ad /plugins/Weather/src/weather_ini.cpp
parent96d3720a8b42bdd4e2595b57a725930289dc791f (diff)
Weather: Minor fixes
git-svn-id: http://svn.miranda-ng.org/main/trunk@12012 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Weather/src/weather_ini.cpp')
-rw-r--r--plugins/Weather/src/weather_ini.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/plugins/Weather/src/weather_ini.cpp b/plugins/Weather/src/weather_ini.cpp
index e11085f272..67c5740000 100644
--- a/plugins/Weather/src/weather_ini.cpp
+++ b/plugins/Weather/src/weather_ini.cpp
@@ -175,23 +175,24 @@ void DestroyCondList(WICONDLIST *List)
// load the weather update data form INI files
bool LoadWIData(bool dial)
{
- TCHAR szSearchPath[MAX_PATH], FileName[MAX_PATH];
- WIN32_FIND_DATA fd;
- WIDATA Data;
-
// make sure that the current service data list is empty
WITail = NULL;
WIHead = WITail;
// find all *.ini file in the plugin\weather directory
+ TCHAR szSearchPath[MAX_PATH], FileName[MAX_PATH];
GetModuleFileName(GetModuleHandle(NULL), szSearchPath, SIZEOF(szSearchPath));
TCHAR *chop = _tcsrchr(szSearchPath, '\\');
+ if (chop == NULL)
+ return false;
*chop = '\0';
_tcsncat(szSearchPath, _T("\\Plugins\\Weather\\*.ini"),SIZEOF(szSearchPath));
_tcsncpy(FileName, szSearchPath, SIZEOF(FileName));
+ WIN32_FIND_DATA fd;
HANDLE hFind = FindFirstFile(szSearchPath, &fd);
+
// load the content of the ini file into memory
if (hFind != INVALID_HANDLE_VALUE) {
do {
@@ -199,6 +200,7 @@ bool LoadWIData(bool dial)
chop[1] = '\0';
_tcscat(FileName, fd.cFileName);
if ( _tcsicmp(fd.cFileName, _T("SAMPLE_INI.INI"))) {
+ WIDATA Data;
LoadStationData(FileName, fd.cFileName, &Data);
if (Data.Enabled)
WIListAdd(Data);
@@ -566,10 +568,12 @@ INT_PTR CALLBACK DlgProcSetup(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPar
TCHAR szPath[1024];
GetModuleFileName(GetModuleHandle(NULL), szPath, SIZEOF(szPath));
TCHAR *chop = _tcsrchr(szPath, '\\');
- *chop = '\0';
- _tcsncat(szPath, _T("\\Plugins\\weather\\"),SIZEOF(szPath));
- _tmkdir(szPath);
- ShellExecute((HWND)lParam, _T("open"), szPath, _T(""), _T(""), SW_SHOW);
+ if (chop) {
+ *chop = '\0';
+ _tcsncat(szPath, _T("\\Plugins\\weather\\"),SIZEOF(szPath));
+ _tmkdir(szPath);
+ ShellExecute((HWND)lParam, _T("open"), szPath, _T(""), _T(""), SW_SHOW);
+ }
break;
}