diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-02-15 02:33:16 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-02-15 02:40:41 +0300 |
commit | 1c883fe6468c9fd3859d24e63590d4011984d52e (patch) | |
tree | 1fe62d7d09a854c0d92e44b2c685b04db3ff876a /source/blender/blenlib | |
parent | 68a52a7fa9327d48f52deddd8c81cc35f4192fe0 (diff) |
Cleanup: make BLI_make_exist local to the file selector
This isn't a general utility, and the name wasn't descriptive.
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r-- | source/blender/blenlib/BLI_path_util.h | 5 | ||||
-rw-r--r-- | source/blender/blenlib/intern/path_util.c | 38 |
2 files changed, 18 insertions, 25 deletions
diff --git a/source/blender/blenlib/BLI_path_util.h b/source/blender/blenlib/BLI_path_util.h index 75d5cb286ac..ec911c11a8c 100644 --- a/source/blender/blenlib/BLI_path_util.h +++ b/source/blender/blenlib/BLI_path_util.h @@ -34,7 +34,6 @@ void BLI_setenv_if_new(const char *env, const char *val) ATTR_NONNULL(1); const char *BLI_getenv(const char *env) ATTR_NONNULL(1); void BLI_make_file_string(const char *relabase, char *string, const char *dir, const char *file); -void BLI_make_exist(char *dir); bool BLI_make_existing_file(const char *name); void BLI_split_dirfile( const char *string, char *dir, char *file, const size_t dirlen, const size_t filelen); @@ -92,8 +91,10 @@ void BLI_cleanup_path(const char *relabase, char *path) ATTR_NONNULL(2); bool BLI_filename_make_safe(char *fname) ATTR_NONNULL(1); bool BLI_path_make_safe(char *path) ATTR_NONNULL(1); -/* go back one directory */ +/* Go back one directory. */ bool BLI_parent_dir(char *path) ATTR_NONNULL(); +/* Go back until the directory is found. */ +bool BLI_parent_dir_until_exists(char *path) ATTR_NONNULL(); bool BLI_path_abs(char *path, const char *basepath) ATTR_NONNULL(); bool BLI_path_frame(char *path, int frame, int digits) ATTR_NONNULL(); diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c index dff1f77c1ab..f8e703dbb56 100644 --- a/source/blender/blenlib/intern/path_util.c +++ b/source/blender/blenlib/intern/path_util.c @@ -729,6 +729,21 @@ bool BLI_parent_dir(char *path) } /** + * Strips off nonexistent (or non-accessible) subdirectories from the end of *dir, + * leaving the path of the lowest-level directory that does exist and we can read. + */ +bool BLI_parent_dir_until_exists(char *dir) +{ + bool valid_path = true; + + /* Loop as long as cur path is not a dir, and we can get a parent path. */ + while ((BLI_access(dir, R_OK) != 0) && (valid_path = BLI_parent_dir(dir))) { + /* pass */ + } + return (valid_path && dir[0]); +} + +/** * Looks for a sequence of "#" characters in the last slash-separated component of *path, * returning the indexes of the first and one past the last character in the sequence in * *char_start and *char_end respectively. Returns true if such a sequence was found. @@ -1313,29 +1328,6 @@ const char *BLI_getenv(const char *env) } /** - * Strips off nonexistent (or non-accessible) subdirectories from the end of *dir, - * leaving the path of the lowest-level directory that does exist and we can read. - */ -void BLI_make_exist(char *dir) -{ - bool valid_path = true; - - /* Loop as long as cur path is not a dir, and we can get a parent path. */ - while ((BLI_access(dir, R_OK) != 0) && (valid_path = BLI_parent_dir(dir))) { - /* pass */ - } - - /* If we could not find an existing dir, use default root... */ - if (!valid_path || !dir[0]) { -#ifdef WIN32 - get_default_root(dir); -#else - strcpy(dir, "/"); -#endif - } -} - -/** * Ensures that the parent directory of *name exists. * * \return true on success (i.e. given path now exists on FS), false otherwise. |