]> granicus.if.org Git - php/commitdiff
fix bug #48983 (DomDocument : saveHTMLFile wrong charset)
authorRob Richards <rrichards@php.net>
Fri, 2 Apr 2010 20:08:15 +0000 (20:08 +0000)
committerRob Richards <rrichards@php.net>
Fri, 2 Apr 2010 20:08:15 +0000 (20:08 +0000)
NEWS
ext/dom/document.c

diff --git a/NEWS b/NEWS
index 24932af55a929b950d531e6aa691a8e214976c80..2b0f47950c86f6a3fd17c9360e625a8bd0199a3d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -55,6 +55,7 @@ PHP                                                                        NEWS
 - Fixed bug #49192 (PHP crashes when GC invoked on COM object). (Stas)
 - Fixed bug #49059 (DateTime::diff() repeats previous sub() operation).
   (yoarvi@gmail.com, Derick)
+- Fixed bug #48983 (DomDocument : saveHTMLFile wrong charset). (Rob)
 - Fixed bug #48902 (Timezone database fallback map is outdated). (Derick)
 - Fixed bug #46111 (Some timezone identifiers can not be parsed). (Derick)
 - Fixed bug #35673 (formatOutput does not work with saveHTML). (Rob)
index 5b8e3c6efa740b94e8ca49ad31971a521b7f3536..2eda7b72adc64de1cbd8911484656be80b3dcd5c 100644 (file)
@@ -2252,6 +2252,7 @@ PHP_FUNCTION(dom_document_save_html_file)
        dom_object *intern;
        dom_doc_propsptr doc_props;
        char *file;
+       const char *encoding;
 
        if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os", &id, dom_document_class_entry, &file, &file_len) == FAILURE) {
                return;
@@ -2264,11 +2265,12 @@ PHP_FUNCTION(dom_document_save_html_file)
 
        DOM_GET_OBJ(docp, id, xmlDocPtr, intern);
 
-       /* encoding handled by property on doc */
+
+       encoding = (const char *) htmlGetMetaEncoding(docp);
 
        doc_props = dom_get_doc_props(intern->document);
        format = doc_props->formatoutput;
-       bytes = htmlSaveFileFormat(file, docp, NULL, format);
+       bytes = htmlSaveFileFormat(file, docp, encoding, format);
 
        if (bytes == -1) {
                RETURN_FALSE;