quote spaces in tokens passed to gst_parse_launchv. this restores the old (shell...
[platform/upstream/gstreamer.git] / gst / parse / parse.l
index 2467558..50733d4 100644 (file)
@@ -25,7 +25,8 @@ _identifier [[:alpha:]][[:alnum:]\-_%]*
 _lconnection ({_identifier}\.)?{_identifier}!
 _rconnection !({_identifier}\.)?{_identifier}
 _bconnection ({_identifier}\.)?{_identifier}!({_identifier}\.)?{_identifier}
-_string ([^[:space:]\"]|"\\\"")+|("\""([^\"]|"\\\"")*"\"")
+_char ([^[:space:]])|("\\".)
+_string {_char}+|("\""([^\"]|"\\\"")*"\"")
 
 %x value
 %option noyywrap
@@ -65,6 +66,7 @@ _string ([^[:space:]\"]|"\\\"")+|("\""([^\"]|"\\\"")*"\"")
             yytext++;
             *(yytext + strlen (yytext) - 1) = '\0';
         }
+        _gst_parse_unescape (yytext);
         PRINT ("A string: \"%s\"\n", yytext);
         lvalp->v = g_new0 (GValue, 1);
         g_value_init (lvalp->v, G_TYPE_STRING);