gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/xml.cpp testsuite/...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp testsuite/...
Date: Thu, 17 Apr 2008 08:13:03 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/04/17 08:13:03

Modified files:
        .              : ChangeLog 
        server/asobj   : xml.cpp 
        testsuite/media: gnash.xml 

Log message:
                * server/asobj/xml.cpp: handle BOM in XML input.
                * testsuite/media/gnash.xml: add utf8 BOM.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6309&r2=1.6310
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.cpp?cvsroot=gnash&r1=1.78&r2=1.79
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/media/gnash.xml?cvsroot=gnash&rev=1.4

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6309
retrieving revision 1.6310
diff -u -b -r1.6309 -r1.6310
--- ChangeLog   17 Apr 2008 08:05:36 -0000      1.6309
+++ ChangeLog   17 Apr 2008 08:13:02 -0000      1.6310
@@ -1,5 +1,10 @@
 2008-04-17 Sandro Santilli <address@hidden>
 
+       * server/asobj/xml.cpp: handle BOM in XML input.
+       * testsuite/media/gnash.xml: add utf8 BOM.
+
+2008-04-17 Sandro Santilli <address@hidden>
+
        * libbase/utf8.{cpp,h}: add a stripBOM interface and a TextEncoding
          enum to deal with BOMs.
        * server/LoadVariablesThread.cpp: handle BOMs, fixing failure in

Index: server/asobj/xml.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.cpp,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -b -r1.78 -r1.79
--- server/asobj/xml.cpp        8 Apr 2008 10:09:21 -0000       1.78
+++ server/asobj/xml.cpp        17 Apr 2008 08:13:03 -0000      1.79
@@ -26,6 +26,7 @@
 #include "as_function.h" // for as_function
 #include "fn_call.h"
 #include "action.h" // for call_method
+#include "utf8.h" // for BOM stripping
 
 #include "xmlattrs.h"
 #include "xmlnode.h"
@@ -514,7 +515,16 @@
 #endif
                        }
             buf[actuallyRead] = '\0';
-            as_value dataVal(buf.get()); // memory copy here (optimize?)
+            // Strip BOM, if any.
+            // See http://savannah.gnu.org/bugs/?19915
+            utf8::TextEncoding encoding;
+            // NOTE: the call below will possibly change 'xmlsize' parameter
+            char* bufptr = utf8::stripBOM(buf.get(), xmlsize, encoding);
+            if ( encoding != utf8::encUTF8 && encoding != utf8::encUNSPECIFIED 
)
+            {
+                log_unimpl("%s to utf8 conversion in XML input parsing", 
utf8::textEncodingName(encoding));
+            }
+            as_value dataVal(bufptr); // memory copy here (optimize?)
 
             it = _loadThreads.erase(it);
             delete lt; // supposedly joins the thread...

Index: testsuite/media/gnash.xml
===================================================================
RCS file: /sources/gnash/gnash/testsuite/media/gnash.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
Binary files /tmp/cvsDx5Une and /tmp/cvsXxvQKJ differ




reply via email to

[Prev in Thread] Current Thread [Next in Thread]