From 0ad85b8520873e54cd1e11c3494f0ec621497404 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Mon, 2 Aug 2010 21:42:22 +0300 Subject: [PATCH] FTP: fix relative file paths (fix #3984) --- modules/access/ftp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/access/ftp.c b/modules/access/ftp.c index ca50e0cc1d..127ee35729 100644 --- a/modules/access/ftp.c +++ b/modules/access/ftp.c @@ -303,11 +303,16 @@ static int parseURL( vlc_url_t *url, const char *path ) if( url->i_port <= 0 ) url->i_port = IPPORT_FTP; /* default port */ + if( url->psz_path == NULL ) + return VLC_SUCCESS; /* FTP URLs are relative to user's default directory (RFC1738 §3.2) For absolute path use ftp://foo.bar//usr/local/etc/filename */ /* FIXME: we should issue a series of CWD, one per slash */ - if( url->psz_path == NULL ) - return VLC_SUCCESS; + if( url->psz_path ) + { + assert( url->psz_path[0] == '/' ); + url->psz_path++; + } char *type = strstr( url->psz_path, ";type=" ); if( type ) -- 2.39.2