diff options
-rw-r--r-- | options/path.c | 11 | ||||
-rw-r--r-- | options/path.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/options/path.c b/options/path.c index d38aa060af..94b599803e 100644 --- a/options/path.c +++ b/options/path.c @@ -231,6 +231,17 @@ bool mp_is_url(bstr path) return true; } +// Return the protocol part of path, e.g. "http" if path is "http://...". +// On success, out_url (if not NULL) is set to the part after the "://". +bstr mp_split_proto(bstr path, bstr *out_url) +{ + if (!mp_is_url(path)) + return (bstr){0}; + bstr r; + bstr_split_tok(path, "://", &r, out_url ? out_url : &(bstr){0}); + return r; +} + void mp_mk_config_dir(struct mpv_global *global, char *subdir) { void *tmp = talloc_new(NULL); diff --git a/options/path.h b/options/path.h index 4756379fa2..0d23dcbe9b 100644 --- a/options/path.h +++ b/options/path.h @@ -75,6 +75,8 @@ bool mp_path_isdir(const char *path); bool mp_is_url(bstr path); +bstr mp_split_proto(bstr path, bstr *out_url); + void mp_mk_config_dir(struct mpv_global *global, char *subdir); #endif /* MPLAYER_PATH_H */ |