Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-05-19 08:55:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-05-19 09:44:19 +0300
commitd5a85f87b0bab4476dc4e0e945444262fd5d3ff9 (patch)
treecd787509fbb975cc31c78a841f9aae9273b1d01d /source/blender/blenkernel/intern/appdir.c
parent3d70a04a8ae439560795e4b3e530585841798b9d (diff)
Python: search for 'python' and 'python#.#'
Diffstat (limited to 'source/blender/blenkernel/intern/appdir.c')
-rw-r--r--source/blender/blenkernel/intern/appdir.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/source/blender/blenkernel/intern/appdir.c b/source/blender/blenkernel/intern/appdir.c
index e4ed8c3ef73..3f69618b591 100644
--- a/source/blender/blenkernel/intern/appdir.c
+++ b/source/blender/blenkernel/intern/appdir.c
@@ -607,30 +607,42 @@ bool BKE_appdir_program_python_search(
const int version_major, const int version_minor)
{
const char *basename = "python";
+ char python_ver[16];
+ /* check both possible names */
+ const char *python_names[] = {basename, python_ver};
+ int i;
+
bool is_found = false;
+ BLI_snprintf(python_ver, sizeof(python_ver), "%s%d.%d", basename, version_major, version_minor);
+
{
const char *python_bin_dir = BKE_appdir_folder_id(BLENDER_SYSTEM_PYTHON, "bin");
if (python_bin_dir) {
- BLI_join_dirfile(fullpath, fullpath_len, python_bin_dir, basename);
- if (
+
+ for (i = 0; i < ARRAY_SIZE(python_names); i++) {
+ BLI_join_dirfile(fullpath, fullpath_len, python_bin_dir, python_names[i]);
+
+ if (
#ifdef _WIN32
- BLI_path_program_extensions_add_win32(fullpath, fullpath_len)
+ BLI_path_program_extensions_add_win32(fullpath, fullpath_len)
#else
- BLI_exists(fullpath)
+ BLI_exists(fullpath)
#endif
- )
- {
- is_found = true;
+ )
+ {
+ is_found = true;
+ }
}
}
}
if (is_found == false) {
- char python_ver[16];
- BLI_snprintf(python_ver, sizeof(python_ver), "%s%d.%d", basename, version_major, version_minor);
- if (BLI_path_program_search(fullpath, fullpath_len, python_ver)) {
- is_found = true;
+ for (i = 0; i < ARRAY_SIZE(python_names); i++) {
+ if (BLI_path_program_search(fullpath, fullpath_len, python_names[i])) {
+ is_found = true;
+ break;
+ }
}
}