diff options
Diffstat (limited to 'options/path.c')
-rw-r--r-- | options/path.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/options/path.c b/options/path.c index 5072e7312c..adfd2ded3e 100644 --- a/options/path.c +++ b/options/path.c @@ -213,6 +213,21 @@ struct bstr mp_dirname(const char *path) return ret; } + +#if HAVE_DOS_PATHS +static const char mp_path_separators[] = "\\/"; +#else +static const char mp_path_separators[] = "/"; +#endif + +// Mutates path and removes a trailing '/' (or '\' on Windows) +void mp_path_strip_trailing_separator(char *path) +{ + size_t len = strlen(path); + if (len > 0 && strchr(mp_path_separators, path[len - 1])) + path[len - 1] = '\0'; +} + char *mp_splitext(const char *path, bstr *root) { assert(path); |