Support gles animation.
[vuplus_openvuplus_3.0] / meta-openvuplus / recipes-support / libtinyxml / libtinyxml / entity-encoding.patch
diff --git a/meta-openvuplus/recipes-support/libtinyxml/libtinyxml/entity-encoding.patch b/meta-openvuplus/recipes-support/libtinyxml/libtinyxml/entity-encoding.patch
new file mode 100644 (file)
index 0000000..b801506
--- /dev/null
@@ -0,0 +1,62 @@
+Description: TinyXML incorrectly encodes text element containing
+ an ampersand followed by either x or #.
+
+Origin: http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559
+
+Upstream-Status: Pending
+
+diff -u -r1.105 tinyxml.cpp
+--- a/tinyxml.cpp
++++ b/tinyxml.cpp
+@@ -57,30 +57,7 @@
+       {
+               unsigned char c = (unsigned char) str[i];
+-              if (    c == '&' 
+-                   && i < ( (int)str.length() - 2 )
+-                       && str[i+1] == '#'
+-                       && str[i+2] == 'x' )
+-              {
+-                      // Hexadecimal character reference.
+-                      // Pass through unchanged.
+-                      // &#xA9;       -- copyright symbol, for example.
+-                      //
+-                      // The -1 is a bug fix from Rob Laveaux. It keeps
+-                      // an overflow from happening if there is no ';'.
+-                      // There are actually 2 ways to exit this loop -
+-                      // while fails (error case) and break (semicolon found).
+-                      // However, there is no mechanism (currently) for
+-                      // this function to return an error.
+-                      while ( i<(int)str.length()-1 )
+-                      {
+-                              outString->append( str.c_str() + i, 1 );
+-                              ++i;
+-                              if ( str[i] == ';' )
+-                                      break;
+-                      }
+-              }
+-              else if ( c == '&' )
++              if ( c == '&' )
+               {
+                       outString->append( entity[0].str, entity[0].strLength );
+                       ++i;
+diff -u -r1.89 xmltest.cpp
+--- a/xmltest.cpp
++++ b/xmltest.cpp
+@@ -1340,6 +1340,16 @@
+               }*/
+       }
++      #ifdef TIXML_USE_STL
++      {
++              TiXmlDocument xml;
++              xml.Parse("<foo>foo&amp;#xa+bar</foo>");
++              std::string str;
++              str << xml;
++              XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
++      }
++      #endif
++
+       /*  1417717 experiment
+       {
+               TiXmlDocument xml;