]> git.sesse.net Git - vlc/blobdiff - modules/video_filter/rss.c
Update NEWS
[vlc] / modules / video_filter / rss.c
index fed84fdaeb456d9e2ddddc4a23809b4e3a0d428e..756f2a2ca200e84230106c0908b39b9cf44a257f 100644 (file)
@@ -189,7 +189,7 @@ static const char *const ppsz_title_modes[] =
  * Module descriptor
  *****************************************************************************/
 vlc_module_begin ()
-    set_capability( "sub filter", 1 )
+    set_capability( "sub source", 1 )
     set_shortname( N_("RSS / Atom") )
     set_help(RSS_HELP)
     set_callbacks( CreateFilter, DestroyFilter )
@@ -302,7 +302,7 @@ static int CreateFilter( vlc_object_t *p_this )
 
     /* Misc init */
     vlc_mutex_init( &p_sys->lock );
-    p_filter->pf_sub_filter = Filter;
+    p_filter->pf_sub_source = Filter;
     p_sys->last_date = (mtime_t)0;
     p_sys->b_fetched = false;
 
@@ -719,27 +719,22 @@ static bool ParseFeed( filter_t *p_filter, xml_reader_t *p_xml_reader,
             /* atom */
             else if( !strcmp( node, "link" ) )
             {
-                const char *name;
+                const char *name, *value;
                 char *psz_href = NULL;
                 char *psz_rel = NULL;
 
-                while( (name = xml_ReaderNextAttr( p_xml_reader )) != NULL )
+                while( (name = xml_ReaderNextAttr( p_xml_reader, &value )) != NULL )
                 {
-                    char *psz_value = xml_ReaderValue( p_xml_reader );
-                    if( !psz_value )
-                        continue;
                     if( !strcmp( name, "rel" ) )
                     {
                         free( psz_rel );
-                        psz_rel = psz_value;
+                        psz_rel = strdup( value );
                     }
                     else if( !strcmp( name, "href" ) )
                     {
                         free( psz_href );
-                        psz_href = psz_value;
+                        psz_href = strdup( value );
                     }
-                    else
-                        free( psz_value );
                 }
 
                 /* "rel" and "href" must be defined */