]> git.sesse.net Git - vlc/commitdiff
add xml_encode to http-control rpn, so status/playlist.xml can be easier
authorIlkka Ollakka <ileoo@videolan.org>
Wed, 18 Jun 2008 07:56:44 +0000 (10:56 +0300)
committerIlkka Ollakka <ileoo@videolan.org>
Fri, 20 Jun 2008 08:02:37 +0000 (11:02 +0300)
be valid xml without str_replace-stuff.

modules/control/http/rpn.c
share/http/requests/playlist.xml
share/http/requests/status.xml

index 982d4556b8af059df19b6f33d6187e1b1795fca9..e55a2fb5e56f32612809337e21e87c58696393d2 100644 (file)
@@ -370,6 +370,14 @@ void EvaluateRPN( intf_thread_t *p_intf, mvar_t  *vars,
             SSPush( st, value );
             free( value );
         }
+        else if( !strcmp( s, "xml_encode" ) )
+        {
+            char *url = SSPop( st );
+            char *value = convert_xml_special_chars( url );
+            free( url );
+            SSPush( st, value );
+            free( value );
+        }
         else if( !strcmp( s, "addslashes" ) )
         {
             char *psz_src = SSPop( st );
index debe40009653db394fc8e23a6bf3c7a8e049e4d3..5a3fb5c3169059366da84850700390627b93bd7b 100644 (file)
@@ -35,9 +35,9 @@
   <vlc id="end" />
   <vlc id="if" param1="pl.type value 'Node' strcmp" />
     <vlc id="rpn" param1="1 +" />
-    <leaf id="<vlc id="value" param1="pl.index" />" <vlc id="if" param1="pl.current" /> current="current" <vlc id="end" /> uri="<vlc id="value" param1="pl.uri value '&' '&amp;' str_replace" />" name="<vlc id="value" param1="pl.name value '&' '&amp;' str_replace" />" ro="<vlc id="value" param1="pl.ro" />" duration="<vlc id="value" param1="pl.duration" />" />
+    <leaf id="<vlc id="value" param1="pl.index" />" <vlc id="if" param1="pl.current" /> current="current" <vlc id="end" /> uri="<vlc id="value" param1="pl.uri xml_encode" />" name="<vlc id="value" param1="pl.name xml_encode" />" ro="<vlc id="value" param1="pl.ro" />" duration="<vlc id="value" param1="pl.duration" />" />
   <vlc id="else" />
-    <node id="<vlc id="value" param1="pl.index" />" name="<vlc id="value" param1="pl.name value '&' '&amp;' str_replace" />" ro="<vlc id="value" param1="pl.ro" />" >
+    <node id="<vlc id="value" param1="pl.index" />" name="<vlc id="value" param1="pl.name xml_encode" />" ro="<vlc id="value" param1="pl.ro" />" >
     <vlc id="if" param1="first_item value 0 ="/>
       <vlc id="rpn" param1="first_item 1 store" />
     <vlc id="end"/>
index 1e476f23386cb4cbeb27f6f98cd8ceb5c72b5696..c180fa293d1a03f8937aeb257742abd9c449a3a0 100644 (file)
   <repeat><vlc id="value" param1="'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></repeat>
   <information>
     <vlc id="foreach" param1="inf" param2="information" />
-      <category name="<vlc id="value" param1="inf.name" />">
+      <category name="<vlc id="value" param1="inf.name xml_encode" />">
         <vlc id="foreach" param1="subinf" param2="inf.info" />
-          <info name="<vlc id="value" param1="subinf.name" />"><vlc id="value" param1="subinf.value" /></info>
+          <info name="<vlc id="value" param1="subinf.name xml_encode" />"><vlc id="value" param1="subinf.value xml_encode" /></info>
         <vlc id="end" />
       </category>
     <vlc id="end" />