[Bf-blender-cvs] [dcfb47d236] app-templates: Make BKE_appdir_app_template_id_search take a path arg

Campbell Barton noreply at git.blender.org
Thu Mar 23 19:39:12 CET 2017


Commit: dcfb47d236222cb9998b5c59a923d8f8389360a9
Author: Campbell Barton
Date:   Fri Mar 24 05:39:23 2017 +1100
Branches: app-templates
https://developer.blender.org/rBdcfb47d236222cb9998b5c59a923d8f8389360a9

Make BKE_appdir_app_template_id_search take a path arg

===================================================================

M	source/blender/blenkernel/BKE_appdir.h
M	source/blender/blenkernel/intern/appdir.c
M	source/blender/windowmanager/intern/wm_files.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_appdir.h b/source/blender/blenkernel/BKE_appdir.h
index 84621a8463..c51d21a531 100644
--- a/source/blender/blenkernel/BKE_appdir.h
+++ b/source/blender/blenkernel/BKE_appdir.h
@@ -32,8 +32,8 @@ const char *BKE_appdir_folder_id_create(const int folder_id, const char *subfold
 const char *BKE_appdir_folder_id_user_notest(const int folder_id, const char *subfolder);
 const char *BKE_appdir_folder_id_version(const int folder_id, const int ver, const bool do_check);
 
-bool        BKE_appdir_app_template_any(void);
-const char *BKE_appdir_app_template_id_search(const char *app_template);
+bool BKE_appdir_app_template_any(void);
+bool BKE_appdir_app_template_id_search(char *path, size_t path_len, const char *app_template);
 
 /* Initialize path to program executable */
 void        BKE_appdir_program_path_init(const char *argv0);
diff --git a/source/blender/blenkernel/intern/appdir.c b/source/blender/blenkernel/intern/appdir.c
index 5df32e5a82..4cacdbffc9 100644
--- a/source/blender/blenkernel/intern/appdir.c
+++ b/source/blender/blenkernel/intern/appdir.c
@@ -678,14 +678,13 @@ bool BKE_appdir_app_template_any(void)
 	return false;
 }
 
-const char *BKE_appdir_app_template_id_search(const char *app_template)
+bool BKE_appdir_app_template_id_search(char *path, size_t path_len, const char *app_template)
 {
-	static char path[FILE_MAX] = "";
 	for (int i = 0; i < 2; i++) {
 		BLI_join_dirfile(path, sizeof(path), app_template_directory_search[i], app_template);
 		const char *filepath_startup_template = BKE_appdir_folder_id(app_template_directory_id[i], path);
 		if (filepath_startup_template) {
-			BLI_strncpy(path, filepath_startup_template, sizeof(path));
+			BLI_strncpy(path, filepath_startup_template, path_len);
 			return path;
 		}
 	}
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index d4abbb4bc0..9003625930 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -725,10 +725,7 @@ int wm_homefile_read(
 	}
 
 	if (app_template != NULL) {
-		const char *path = BKE_appdir_app_template_id_search(app_template);
-		if (path) {
-			BLI_strncpy(template_directory, path, sizeof(template_directory));
-		}
+		BKE_appdir_app_template_id_search(template_directory, sizeof(template_directory), app_template);
 	}
 
 	/* insert template name into startup file */




More information about the Bf-blender-cvs mailing list