[Bf-blender-cvs] [bde06da223a] master: Manta: Fix using path as an input and output
Sergey Sharybin
noreply at git.blender.org
Tue Dec 17 09:47:40 CET 2019
Commit: bde06da223ab214b007eb5c717a078fa3718e898
Author: Sergey Sharybin
Date: Tue Dec 17 09:44:27 2019 +0100
Branches: master
https://developer.blender.org/rBbde06da223ab214b007eb5c717a078fa3718e898
Manta: Fix using path as an input and output
It is not guaranteed that the function will give correct result
in such an overlapping inputs.
@sebbas please verify this.
===================================================================
M intern/mantaflow/intern/MANTA_main.cpp
===================================================================
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp
index 6c252f9f8e4..0828fae5351 100644
--- a/intern/mantaflow/intern/MANTA_main.cpp
+++ b/intern/mantaflow/intern/MANTA_main.cpp
@@ -1784,20 +1784,16 @@ void MANTA::exportSmokeScript(FluidModifierData *mmd)
if (with_debug)
std::cout << "MANTA::exportSmokeScript()" << std::endl;
- char cacheDirScript[FILE_MAX];
- cacheDirScript[0] = '\0';
+ char cacheDir[FILE_MAX] = "\0";
+ char cacheDirScript[FILE_MAX] = "\0";
- BLI_path_join(cacheDirScript,
- sizeof(cacheDirScript),
- mmd->domain->cache_directory,
- FLUID_DOMAIN_DIR_SCRIPT,
- NULL);
- BLI_path_make_safe(cacheDirScript);
- BLI_dir_create_recursive(
- cacheDirScript); /* Create 'script' subdir if it does not exist already */
BLI_path_join(
- cacheDirScript, sizeof(cacheDirScript), cacheDirScript, FLUID_DOMAIN_SMOKE_SCRIPT, NULL);
- BLI_path_make_safe(cacheDirScript);
+ cacheDir, sizeof(cacheDir), mmd->domain->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, NULL);
+ BLI_path_make_safe(cacheDir);
+ /* Create 'script' subdir if it does not exist already */
+ BLI_dir_create_recursive(cacheDir);
+ BLI_path_join(cacheDirScript, sizeof(cacheDirScript), cacheDir, FLUID_DOMAIN_SMOKE_SCRIPT, NULL);
+ BLI_path_make_safe(cacheDir);
bool noise = mmd->domain->flags & FLUID_DOMAIN_USE_NOISE;
bool heat = mmd->domain->active_fields & FLUID_DOMAIN_ACTIVE_HEAT;
@@ -1891,19 +1887,16 @@ void MANTA::exportLiquidScript(FluidModifierData *mmd)
if (with_debug)
std::cout << "MANTA::exportLiquidScript()" << std::endl;
- char cacheDirScript[FILE_MAX];
- cacheDirScript[0] = '\0';
+ char cacheDir[FILE_MAX] = "\0";
+ char cacheDirScript[FILE_MAX] = "\0";
- BLI_path_join(cacheDirScript,
- sizeof(cacheDirScript),
- mmd->domain->cache_directory,
- FLUID_DOMAIN_DIR_SCRIPT,
- NULL);
- BLI_path_make_safe(cacheDirScript);
- BLI_dir_create_recursive(
- cacheDirScript); /* Create 'script' subdir if it does not exist already */
BLI_path_join(
- cacheDirScript, sizeof(cacheDirScript), cacheDirScript, FLUID_DOMAIN_LIQUID_SCRIPT, NULL);
+ cacheDir, sizeof(cacheDir), mmd->domain->cache_directory, FLUID_DOMAIN_DIR_SCRIPT, NULL);
+ BLI_path_make_safe(cacheDir);
+ /* Create 'script' subdir if it does not exist already */
+ BLI_dir_create_recursive(cacheDir);
+ BLI_path_join(
+ cacheDirScript, sizeof(cacheDirScript), cacheDir, FLUID_DOMAIN_LIQUID_SCRIPT, NULL);
BLI_path_make_safe(cacheDirScript);
bool mesh = mmd->domain->flags & FLUID_DOMAIN_USE_MESH;
More information about the Bf-blender-cvs
mailing list