changeset 1271:bb99e40405f6

Automagically create datapath directory if it does not seem to exist already.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 22 Dec 2010 22:42:12 +0000
parents 30ec8596fb2d
children f22029a60ed6
files ggrtf.tf
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ggrtf.tf	Wed Dec 22 20:26:56 2010 +0000
+++ b/ggrtf.tf	Wed Dec 22 22:42:12 2010 +0000
@@ -558,7 +558,7 @@
 
 ;; Save status
 /def -i gsave_fileopen=\
-	/set gsave_filename=%{set_datapath}%{set_saveprefix}%{2}%;\
+	/set gsave_filename=$[strcat(set_datapath,set_saveprefix,{2})]%;\
 	/set gsave_file=$[tfopen(gsave_filename, "w")]%;\
 	/if (gsave_file < 0)\
 		/gerror Could not create/open savefile '@{Cyellow}%{gsave_filename}@{n}', err=%{gsave_file}!%;\
@@ -567,7 +567,15 @@
 	/endif%;\
 	/return gsave_file
 
+
 /def -i gsave =\
+	/let _testfile=$[tfopen(strcat(set_datapath, "dirtest"), "w")]%;\
+	/if (_testfile < 0)\
+		/msq @{Cred}Datapath@{n} '@{Cyellow}%{set_datapath}@{n}' @{Cred}might not exist, trying to create directory.@{n}%;\
+		/sys mkdir %{set_datapath}%;\
+	/else \
+		/test tfclose(_testfile)%;\
+	/endif%;\
 	/if (gsave_fileopen("pre-init", "pre.tf") < 0)\
 		/break%;\
 	/else \