forked from bartvdbraak/blender
Assert when relative paths are passed to IO ops
This is typically an error (& hangs a few seconds on win32), best catch early.
This commit is contained in:
parent
03efc37a6e
commit
28c34d332f
@ -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);
|
||||
}
|
||||
|
@ -227,6 +227,7 @@ int BLI_exists(const char *name)
|
||||
#else
|
||||
struct stat st;
|
||||
BLI_assert(name);
|
||||
BLI_assert(!BLI_path_is_rel(name));
|
||||
if (stat(name, &st)) return(0);
|
||||
#endif
|
||||
return(st.st_mode);
|
||||
|
Loading…
Reference in New Issue
Block a user