diff options
Diffstat (limited to 'options/path.h')
-rw-r--r-- | options/path.h | 54 |
1 files changed, 9 insertions, 45 deletions
diff --git a/options/path.h b/options/path.h index 19f4fb5909..a665e67b48 100644 --- a/options/path.h +++ b/options/path.h @@ -22,6 +22,7 @@ #include <stdbool.h> #include "misc/bstr.h" +#include "misc/path_utils.h" struct mpv_global; struct MPOpts; @@ -30,15 +31,16 @@ void mp_init_paths(struct mpv_global *global, struct MPOpts *opts); // Search for the input filename in several paths. These include user and global // config locations by default. Some platforms may implement additional platform -// related lookups (i.e.: OSX inside an application bundle). +// related lookups (i.e.: macOS inside an application bundle). char *mp_find_config_file(void *talloc_ctx, struct mpv_global *global, const char *filename); -// Like mp_find_config_file(), but search only the local writable user config -// dir. Also, this returns a result even if the file does not exist. Calling -// it with filename="" is equivalent to retrieving the user config dir. -char *mp_find_user_config_file(void *talloc_ctx, struct mpv_global *global, - const char *filename); +// Search for local writable user files within a specific kind of user dir +// as documented in osdep/path.h. This returns a result even if the file does +// not exist. Calling it with filename="" is equivalent to retrieving the path +// to the dir. +char *mp_find_user_file(void *talloc_ctx, struct mpv_global *global, + const char *type, const char *filename); // Find all instances of the given config file. Paths are returned in order // from lowest to highest priority. filename can contain multiple names @@ -52,44 +54,6 @@ char **mp_find_all_config_files(void *talloc_ctx, struct mpv_global *global, char *mp_get_user_path(void *talloc_ctx, struct mpv_global *global, const char *path); -// Return pointer to filename part of path - -char *mp_basename(const char *path); - -/* Return file extension, excluding the '.'. If root is not NULL, set it to the - * part of the path without extension. So: path == root + "." + extension - * Don't consider it a file extension if the only '.' is the first character. - * Return NULL if no extension and don't set *root in this case. - */ -char *mp_splitext(const char *path, bstr *root); - -/* Return struct bstr referencing directory part of path, or if that - * would be empty, ".". - */ -struct bstr mp_dirname(const char *path); - -void mp_path_strip_trailing_separator(char *path); - -/* Join two path components and return a newly allocated string - * for the result. '/' is inserted between the components if needed. - * If p2 is an absolute path then the value of p1 is ignored. - */ -char *mp_path_join(void *talloc_ctx, const char *p1, const char *p2); -char *mp_path_join_bstr(void *talloc_ctx, struct bstr p1, struct bstr p2); - -// Return whether the path is absolute. -bool mp_path_is_absolute(struct bstr path); - -char *mp_getcwd(void *talloc_ctx); - -bool mp_path_exists(const char *path); -bool mp_path_isdir(const char *path); - -bool mp_is_url(bstr path); - -bstr mp_split_proto(bstr path, bstr *out_url); - -void mp_mkdirp(const char *dir); -void mp_mk_config_dir(struct mpv_global *global, char *subdir); +void mp_mk_user_dir(struct mpv_global *global, const char *type, char *subdir); #endif /* MPLAYER_PATH_H */ |