vlc | branch: master | Thomas Guillem <[email protected]> | Mon Jan 11 17:28:25 2016 +0100| [7c305abc2e263cc9e8f36ade0a3487fdb848ebd4] | committer: Thomas Guillem
dsm: fix url encoding - pf_readdir will return an encoded item. - decode the url at opening. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7c305abc2e263cc9e8f36ade0a3487fdb848ebd4 --- modules/access/dsm/access.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/access/dsm/access.c b/modules/access/dsm/access.c index b91c0df..40dc60e 100644 --- a/modules/access/dsm/access.c +++ b/modules/access/dsm/access.c @@ -143,7 +143,11 @@ static int Open( vlc_object_t *p_this ) if( p_sys->p_session == NULL ) goto error; - vlc_UrlParse( &p_sys->url, p_access->psz_location ); + char *psz_decoded_location = vlc_uri_decode_duplicate( p_access->psz_location ); + if( psz_decoded_location == NULL ) + goto error; + vlc_UrlParse( &p_sys->url, psz_decoded_location ); + free( psz_decoded_location ); if( get_address( p_access ) != VLC_SUCCESS ) goto error; @@ -529,7 +533,12 @@ static input_item_t *new_item( access_t *p_access, const char *psz_name, char *psz_uri, *psz_option = NULL; int i_ret; - i_ret = asprintf( &psz_uri, "smb://%s/%s", p_access->psz_location, psz_name ); + char *psz_encoded_name = vlc_uri_encode( psz_name ); + if( psz_encoded_name == NULL ) + return NULL; + i_ret = asprintf( &psz_uri, "smb://%s/%s", p_access->psz_location, + psz_encoded_name ); + free( psz_encoded_name ); if( i_ret == -1 ) return NULL; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
