summaryrefslogtreecommitdiff
path: root/utilities.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utilities.cpp')
-rw-r--r--utilities.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/utilities.cpp b/utilities.cpp
index 16ed0c2..44121cd 100644
--- a/utilities.cpp
+++ b/utilities.cpp
@@ -102,7 +102,7 @@ void GetFilePath(TCHAR *WindowTittle, char *szSetting, TCHAR *szExt, TCHAR *szEx
DBWriteContactSettingTString(0, szModuleName, szSetting, str);
}
-TCHAR *GetFilePath(TCHAR *WindowTittle, TCHAR *szExt, TCHAR *szExtDesc)
+TCHAR *GetFilePath(TCHAR *WindowTittle, TCHAR *szExt, TCHAR *szExtDesc, bool save_file)
{
TCHAR *str = new TCHAR [MAX_PATH+2];
OPENFILENAME ofn={0};
@@ -122,8 +122,22 @@ TCHAR *GetFilePath(TCHAR *WindowTittle, TCHAR *szExt, TCHAR *szExtDesc)
ofn.lpstrFile=str;
ofn.nMaxFile=_MAX_PATH;
ofn.nMaxFileTitle=MAX_PATH;
- if(!GetOpenFileName(&ofn))
- return _T("");
+ if(!save_file)
+ {
+ if(!GetOpenFileName(&ofn))
+ {
+ delete [] str;
+ return NULL;
+ }
+ }
+ else
+ {
+ if(!GetSaveFileName(&ofn))
+ {
+ delete [] str;
+ return NULL;
+ }
+ }
return str;
}