From: Christian Stocker Date: Thu, 19 Aug 2004 12:29:43 +0000 (+0000) Subject: MFH X-Git-Tag: php-5.0.2RC1~119 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=259f662488d174e843c42da50173be3e7ea17245;p=php MFH - Fixed bug #29657 (xml_* functions throw non descriptive error). (Christian, Rob) - Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob) --- diff --git a/NEWS b/NEWS index 6dc1db4856..356dfc7898 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2004, PHP 5.0.2 +- Fixed bug #29657 (xml_* functions throw non descriptive error). + (Christian, Rob) +- Fixed bug #29711 (Changed ext/xml to default to UTF-8 output). (Rob) - Fixed a file-descriptor leak with phpinfo() and other 'special' URLs (Zeev) - Added PHP_EOL constant that contains the OS way of representing newlines. (Paul Hudson, Derick) diff --git a/ext/xml/compat.c b/ext/xml/compat.c index 396393ee51..a5797ad37d 100644 --- a/ext/xml/compat.c +++ b/ext/xml/compat.c @@ -463,9 +463,9 @@ const XML_Char *error_mapping[] = { "No error", "Internal error", "No memory", - "XML_ERR_DOCUMENT_START", + "Invalid document start", "Empty document", - "XML_ERR_DOCUMENT_END", + "Invalid document end", "Invalid hexadecimal character reference", "Invalid decimal character reference", "Invalid character reference", @@ -478,14 +478,14 @@ const XML_Char *error_mapping[] = { "XML_ERR_ENTITYREF_IN_PROLOG", "XML_ERR_ENTITYREF_IN_EPILOG", "XML_ERR_ENTITYREF_IN_DTD", - "XML_ERR_PEREF_AT_EOF", - "XML_ERR_PEREF_IN_PROLOG", - "XML_ERR_PEREF_IN_EPILOG", - "XML_ERR_PEREF_IN_INT_SUBSET", + "PEReference at end of document", + "PEReference in prolog", + "PEReference in epilog", + "PEReference: forbidden within markup decl in internal subset", "XML_ERR_ENTITYREF_NO_NAME", - "XML_ERR_ENTITYREF_SEMICOL_MISSING", - "XML_ERR_PEREF_NO_NAME", - "XML_ERR_PEREF_SEMICOL_MISSING", + "EntityRef: expecting ';'", + "PEReference: no name", + "PEReference: expecting ';'", "Undeclared entity error", "Undeclared entity warning", "Unparsed Entity", @@ -493,82 +493,82 @@ const XML_Char *error_mapping[] = { "XML_ERR_ENTITY_IS_PARAMETER", "Unknown encoding", "Unsupported encoding", - "XML_ERR_STRING_NOT_STARTED", - "XML_ERR_STRING_NOT_CLOSED", + "String not started expecting ' or \"", + "String not closed expecting \" or '", "Namespace declaration error", - "XML_ERR_ENTITY_NOT_STARTED", - "XML_ERR_ENTITY_NOT_FINISHED", - "XML_ERR_LT_IN_ATTRIBUTE", - "XML_ERR_ATTRIBUTE_NOT_STARTED", - "XML_ERR_ATTRIBUTE_NOT_FINISHED", - "XML_ERR_ATTRIBUTE_WITHOUT_VALUE", - "XML_ERR_ATTRIBUTE_REDEFINED", - "XML_ERR_LITERAL_NOT_STARTED", - "XML_ERR_LITERAL_NOT_FINISHED", + "EntityValue: \" or ' expected", + "EntityValue: \" or ' expected", + "< in attribute", + "Attribute not started", + "Attribute not finished", + "Attribute without value", + "Attribute redefined", + "SystemLiteral \" or ' expected", + "SystemLiteral \" or ' expected", /* "XML_ERR_COMMENT_NOT_STARTED", <= eliminated on purpose */ - "XML_ERR_COMMENT_NOT_FINISHED", - "XML_ERR_PI_NOT_STARTED", - "XML_ERR_PI_NOT_FINISHED", - "XML_ERR_NOTATION_NOT_STARTED", - "XML_ERR_NOTATION_NOT_FINISHED", - "XML_ERR_ATTLIST_NOT_STARTED", - "XML_ERR_ATTLIST_NOT_FINISHED", - "XML_ERR_MIXED_NOT_STARTED", + "Comment not finished", + "Processing Instruction not started", + "Processing Instruction not finished", + "NOTATION: Name expected here", + "'>' required to close NOTATION declaration", + "'(' required to start ATTLIST enumeration", + "'(' required to start ATTLIST enumeration", + "MixedContentDecl : '|' or ')*' expected", "XML_ERR_MIXED_NOT_FINISHED", - "XML_ERR_ELEMCONTENT_NOT_STARTED", - "XML_ERR_ELEMCONTENT_NOT_FINISHED", - "XML_ERR_XMLDECL_NOT_STARTED", - "XML_ERR_XMLDECL_NOT_FINISHED", + "ELEMENT in DTD not started", + "ELEMENT in DTD not finished", + "XML declaration not started", + "XML declaration not finished", "XML_ERR_CONDSEC_NOT_STARTED", - "XML_ERR_CONDSEC_NOT_FINISHED", - "XML_ERR_EXT_SUBSET_NOT_FINISHED", - "XML_ERR_DOCTYPE_NOT_FINISHED", - "XML_ERR_MISPLACED_CDATA_END", - "XML_ERR_CDATA_NOT_FINISHED", - "XML_ERR_RESERVED_XML_NAME", - "XML_ERR_SPACE_REQUIRED", + "XML conditional section not closed", + "Content error in the external subset", + "DOCTYPE not finished", + "Sequence ']]>' not allowed in content", + "CDATA not finished", + "Reserved XML Name", + "Space required", "XML_ERR_SEPARATOR_REQUIRED", - "XML_ERR_NMTOKEN_REQUIRED", + "NmToken expected in ATTLIST enumeration", "XML_ERR_NAME_REQUIRED", - "XML_ERR_PCDATA_REQUIRED", - "XML_ERR_URI_REQUIRED", - "XML_ERR_PUBID_REQUIRED", - "XML_ERR_LT_REQUIRED", - "XML_ERR_GT_REQUIRED", - "XML_ERR_LTSLASH_REQUIRED", - "XML_ERR_EQUAL_REQUIRED", - "XML_ERR_TAG_NAME_MISMATCH", - "XML_ERR_TAG_NOT_FINISHED", - "XML_ERR_STANDALONE_VALUE", - "XML_ERR_ENCODING_NAME", - "XML_ERR_HYPHEN_IN_COMMENT", + "MixedContentDecl : '#PCDATA' expected", + "SYSTEM or PUBLIC, the URI is missing", + "PUBLIC, the Public Identifier is missing", + "< required", + "> required", + "= (int)sizeof(error_mapping)) { + if (code < 0 || code >= (int)(sizeof(error_mapping) / sizeof(error_mapping[0]))) { return "Unknown"; } return error_mapping[code]; diff --git a/ext/xml/xml.c b/ext/xml/xml.c index f17601f8eb..fba42e2e71 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -176,7 +176,7 @@ static int le_xml_parser; #ifdef ZTS static void php_xml_init_globals(php_xml_globals *xml_globals_p TSRMLS_DC) { - XML(default_encoding) = "ISO-8859-1"; + XML(default_encoding) = "UTF-8"; } #endif @@ -204,7 +204,7 @@ PHP_MINIT_FUNCTION(xml) #ifdef ZTS ts_allocate_id(&xml_globals_id, sizeof(php_xml_globals), (ts_allocate_ctor) php_xml_init_globals, NULL); #else - XML(default_encoding) = "ISO-8859-1"; + XML(default_encoding) = "UTF-8"; #endif REGISTER_LONG_CONSTANT("XML_ERROR_NONE", XML_ERROR_NONE, CONST_CS|CONST_PERSISTENT);