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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-12-17 11:44:27 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-12-17 11:47:12 +0300
commitbde06da223ab214b007eb5c717a078fa3718e898 (patch)
treeeb0bf8ffd4ec832940f4c2ceb9260a7f7252fa46 /intern/mantaflow
parent7d2d2ffa76647871836f779f013c99e474228f3d (diff)
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.
Diffstat (limited to 'intern/mantaflow')
-rw-r--r--intern/mantaflow/intern/MANTA_main.cpp39
1 files changed, 16 insertions, 23 deletions
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;