From 21f056e8c51e0c1f9ad522a41b5cfd48ea088160 Mon Sep 17 00:00:00 2001 From: Daniel Tisza <dadatis@gmail.com> Date: Sun, 11 Jul 2010 11:52:23 +0300 Subject: [PATCH] Add entity encoding for input options when outputting an xml file. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Entity encoding was missing (for options) in generation of an xspf playlist. On the reading side the entity decoding is all fine. Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> --- modules/misc/playlist/xspf.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/misc/playlist/xspf.c b/modules/misc/playlist/xspf.c index 3db0e98442f1..4f09caf96904 100644 --- a/modules/misc/playlist/xspf.c +++ b/modules/misc/playlist/xspf.c @@ -208,10 +208,18 @@ xspfexportitem_end: for( int i = 0; i < p_item->p_input->i_options; i++ ) { - fprintf( p_file, "\t\t\t\t<vlc:option>%s</vlc:option>\n", - p_item->p_input->ppsz_options[i][0] == ':' ? - p_item->p_input->ppsz_options[i] + 1 : - p_item->p_input->ppsz_options[i] ); + char* psz_src = p_item->p_input->ppsz_options[i]; + char* psz_ret = NULL; + + if ( psz_src[0] == ':' ) + psz_src++; + + psz_ret = convert_xml_special_chars( psz_src ); + if ( psz_ret == NULL ) + continue; + + fprintf( p_file, "\t\t\t\t<vlc:option>%s</vlc:option>\n", psz_ret ); + free( psz_ret ); } fputs( "\t\t\t</extension>\n", p_file ); fputs( "\t\t</track>\n", p_file ); -- GitLab