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-06-18 05:37:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-06-18 05:49:10 +0300
commit28c34d332f941259de6775af57758609ee7c92e9 (patch)
treed942a49bf7b619639af493e5d3dab53df0aec47f /source/blender/blenlib/intern/fileops.c
parent03efc37a6ebc4a6b288fc6cc42a172f4a1e85192 (diff)
Assert when relative paths are passed to IO ops
This is typically an error (& hangs a few seconds on win32), best catch early.
Diffstat (limited to 'source/blender/blenlib/intern/fileops.c')
-rw-r--r--source/blender/blenlib/intern/fileops.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/fileops.c b/source/blender/blenlib/intern/fileops.c
index d6fe5e52b95..c3e889842c1 100644
--- a/source/blender/blenlib/intern/fileops.c
+++ b/source/blender/blenlib/intern/fileops.c
@@ -657,21 +657,29 @@ static int delete_single_file(const char *from, const char *UNUSED(to))
FILE *BLI_fopen(const char *filename, const char *mode)
{
+ BLI_assert(!BLI_path_is_rel(filename));
+
return fopen(filename, mode);
}
void *BLI_gzopen(const char *filename, const char *mode)
{
+ BLI_assert(!BLI_path_is_rel(filename));
+
return gzopen(filename, mode);
}
int BLI_open(const char *filename, int oflag, int pmode)
{
+ BLI_assert(!BLI_path_is_rel(filename));
+
return open(filename, oflag, pmode);
}
int BLI_access(const char *filename, int mode)
{
+ BLI_assert(!BLI_path_is_rel(filename));
+
return access(filename, mode);
}
@@ -682,6 +690,8 @@ int BLI_access(const char *filename, int mode)
*/
int BLI_delete(const char *file, bool dir, bool recursive)
{
+ BLI_assert(!BLI_path_is_rel(file));
+
if (recursive) {
return recursive_operation(file, NULL, NULL, delete_single_file, delete_callback_post);
}