Commit 252c8822 authored by Laurent Aimar's avatar Laurent Aimar

Use resolve_xml_special_chars where appropriate.

(noticed by Antoine Cellerier)
parent 897a63f6
......@@ -40,6 +40,7 @@
#include <vlc_stream.h>
#include <vlc_xml.h>
#include <vlc_input.h>
#include <vlc_strings.h>
#include <math.h>
#include <errno.h>
......
......@@ -38,6 +38,7 @@
#include <vlc_stream.h>
#include <vlc_xml.h>
#include <vlc_input.h>
#include <vlc_strings.h>
#include <math.h>
......
......@@ -494,39 +494,6 @@ static void HandleWhiteSpace( char *psz_node )
}
/* */
static void HandleMarkup( char *psz_node )
{
static const struct
{
const char *psz_pattern;
char i_char;
} p_replace[] = {
{ "&lt;", '<' },
{ "&gt;", '>' },
{ "&amp;", '&' },
{ "&quot;", '"' },
/* This one will always match */
{ "&", '&' }
};
char *s = psz_node;
while( ( s = strchr( s, '&' ) ) != NULL )
{
size_t i_size;
int i;
for( i = 0; ; i++ )
{
i_size = strlen(p_replace[i].psz_pattern);
if( !strncmp( s, p_replace[i].psz_pattern, i_size ) )
break;
}
if( i_size > 1 )
memmove( &s[1], &s[i_size],
strlen( s ) - i_size + 1 );
*s++ = p_replace[i].i_char;
}
}
static int ProcessNodes( filter_t *p_filter,
xml_reader_t *p_xml_reader,
text_style_t *p_font_style,
......@@ -654,7 +621,7 @@ static int ProcessNodes( filter_t *p_filter,
{
/* */
HandleWhiteSpace( psz_node );
HandleMarkup( psz_node );
resolve_xml_special_chars( psz_node );
SetupLine( p_filter, psz_node, &psz_text,
pi_runs, ppi_run_lengths, ppp_styles,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment