vlc | branch: master | Hugo Beauzée-Luyssen <[email protected]> | Wed Feb 19 09:58:28 2020 +0100| [97a471e6e387cd84a481e51ca5053e3986d9923e] | committer: Hugo Beauzée-Luyssen
directory: Don't append a separator when it's not needed > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=97a471e6e387cd84a481e51ca5053e3986d9923e --- modules/access/directory.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/access/directory.c b/modules/access/directory.c index 8fa3c0a5e3..72182bd734 100644 --- a/modules/access/directory.c +++ b/modules/access/directory.c @@ -44,6 +44,7 @@ typedef struct { char *base_uri; + bool need_separator; DIR *dir; } access_sys_t; @@ -67,6 +68,12 @@ int DirInit (stream_t *access, DIR *dir) if (unlikely(sys->base_uri == NULL)) goto error; + char last_char = sys->base_uri[strlen(sys->base_uri) - 1]; + sys->need_separator = +#ifdef _WIN32 + last_char != '\\' && +#endif + last_char != '/'; sys->dir = dir; access->p_sys = sys; @@ -174,7 +181,9 @@ int DirRead (stream_t *access, input_item_node_t *node) } char *uri; - if (unlikely(asprintf(&uri, "%s/%s", sys->base_uri, encoded) == -1)) + if (unlikely(asprintf(&uri, "%s%s%s", sys->base_uri, + sys->need_separator ? "/" : "", + encoded) == -1)) uri = NULL; free(encoded); if (unlikely(uri == NULL)) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
