wez Fri Dec 19 11:57:37 2003 EDT
Modified files:
/php-src/ext/xml compat.c expat_compat.h
Log:
Export expat compat functions.
"Implement" XML_GetCurrentByteCount(); probably not 100%
correct, but the only usage of it is by xmlrpc extension when
reporting an error; it should be safe.
Index: php-src/ext/xml/compat.c
diff -u php-src/ext/xml/compat.c:1.23 php-src/ext/xml/compat.c:1.24
--- php-src/ext/xml/compat.c:1.23 Fri Dec 5 05:53:59 2003
+++ php-src/ext/xml/compat.c Fri Dec 19 11:57:36 2003
@@ -377,13 +377,13 @@
1
};
-XML_Parser
+PHPAPI XML_Parser
XML_ParserCreate(const XML_Char *encoding)
{
return XML_ParserCreate_MM(encoding, NULL, NULL);
}
-XML_Parser
+PHPAPI XML_Parser
XML_ParserCreateNS(const XML_Char *encoding, const XML_Char sep)
{
XML_Char tmp[2];
@@ -392,7 +392,7 @@
return XML_ParserCreate_MM(encoding, NULL, tmp);
}
-XML_Parser
+PHPAPI XML_Parser
XML_ParserCreate_MM(const XML_Char *encoding, const XML_Memory_Handling_Suite
*memsuite, const XML_Char *sep)
{
XML_Parser parser;
@@ -422,86 +422,86 @@
return parser;
}
-void
+PHPAPI void
XML_SetUserData(XML_Parser parser, void *user)
{
parser->user = user;
}
-void *
+PHPAPI void *
XML_GetUserData(XML_Parser parser)
{
return parser->user;
}
-void
+PHPAPI void
XML_SetElementHandler(XML_Parser parser, XML_StartElementHandler start,
XML_EndElementHandler end)
{
parser->h_start_element = start;
parser->h_end_element = end;
}
-void
+PHPAPI void
XML_SetCharacterDataHandler(XML_Parser parser, XML_CharacterDataHandler cdata)
{
parser->h_cdata = cdata;
}
-void
+PHPAPI void
XML_SetProcessingInstructionHandler(XML_Parser parser,
XML_ProcessingInstructionHandler pi)
{
parser->h_pi = pi;
}
-void
+PHPAPI void
XML_SetCommentHandler(XML_Parser parser, XML_CommentHandler comment)
{
parser->h_comment = comment;
}
-void
+PHPAPI void
XML_SetDefaultHandler(XML_Parser parser, XML_DefaultHandler d)
{
parser->h_default = d;
}
-void
+PHPAPI void
XML_SetUnparsedEntityDeclHandler(XML_Parser parser, XML_UnparsedEntityDeclHandler
unparsed_decl)
{
parser->h_unparsed_entity_decl = unparsed_decl;
}
-void
+PHPAPI void
XML_SetNotationDeclHandler(XML_Parser parser, XML_NotationDeclHandler notation_decl)
{
parser->h_notation_decl = notation_decl;
}
-void
+PHPAPI void
XML_SetExternalEntityRefHandler(XML_Parser parser, XML_ExternalEntityRefHandler
ext_entity)
{
parser->h_external_entity_ref = ext_entity;
}
-void
+PHPAPI void
XML_SetStartNamespaceDeclHandler(XML_Parser parser, XML_StartNamespaceDeclHandler
start_ns)
{
parser->h_start_ns = start_ns;
}
-void
+PHPAPI void
XML_SetEndNamespaceDeclHandler(XML_Parser parser, XML_EndNamespaceDeclHandler end_ns)
{
parser->h_end_ns = end_ns;
}
-int
+PHPAPI int
XML_Parse(XML_Parser parser, const XML_Char *data, int data_len, int is_final)
{
return !xmlParseChunk(parser->parser, data, data_len, is_final);
}
-int
+PHPAPI int
XML_GetErrorCode(XML_Parser parser)
{
return parser->parser->errNo;
@@ -606,7 +606,7 @@
"XML_ERR_NO_DTD"
};
-const XML_Char *
+PHPAPI const XML_Char *
XML_ErrorString(int code)
{
if (code < 0 || code >= (int)sizeof(error_mapping)) {
@@ -615,26 +615,35 @@
return error_mapping[code];
}
-int
+PHPAPI int
XML_GetCurrentLineNumber(XML_Parser parser)
{
return parser->parser->input->line;
}
-int
+PHPAPI int
XML_GetCurrentColumnNumber(XML_Parser parser)
{
return parser->parser->input->col;
}
-int
+PHPAPI int
XML_GetCurrentByteIndex(XML_Parser parser)
{
return parser->parser->input->consumed +
(parser->parser->input->cur - parser->parser->input->base);
}
-const XML_Char *XML_ExpatVersion(void)
+PHPAPI int
+XML_GetCurrentByteCount(XML_Parser parser)
+{
+ /* WARNING: this is identical to ByteIndex; it should probably
+ * be different */
+ return parser->parser->input->consumed +
+ (parser->parser->input->cur - parser->parser->input->base);
+}
+
+PHPAPI const XML_Char *XML_ExpatVersion(void)
{
return "1.0";
}
@@ -662,7 +671,7 @@
efree(ptr);
}
-void
+PHPAPI void
XML_ParserFree(XML_Parser parser)
{
if (parser->use_namespace) {
Index: php-src/ext/xml/expat_compat.h
diff -u php-src/ext/xml/expat_compat.h:1.13 php-src/ext/xml/expat_compat.h:1.14
--- php-src/ext/xml/expat_compat.h:1.13 Mon Sep 29 07:35:39 2003
+++ php-src/ext/xml/expat_compat.h Fri Dec 19 11:57:36 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: expat_compat.h,v 1.13 2003/09/29 11:35:39 rrichards Exp $ */
+/* $Id: expat_compat.h,v 1.14 2003/12/19 16:57:36 wez Exp $ */
#ifndef PHP_EXPAT_COMPAT_H
#define PHP_EXPAT_COMPAT_H
@@ -113,28 +113,29 @@
XML_CTYPE_SEQ
};
-XML_Parser XML_ParserCreate(const XML_Char *);
-XML_Parser XML_ParserCreateNS(const XML_Char *, const XML_Char);
-XML_Parser XML_ParserCreate_MM(const XML_Char *, const XML_Memory_Handling_Suite *,
const XML_Char *);
-void XML_SetUserData(XML_Parser, void *);
-void *XML_GetUserData(XML_Parser);
-void XML_SetElementHandler(XML_Parser, XML_StartElementHandler,
XML_EndElementHandler);
-void XML_SetCharacterDataHandler(XML_Parser, XML_CharacterDataHandler);
-void XML_SetProcessingInstructionHandler(XML_Parser,
XML_ProcessingInstructionHandler);
-void XML_SetDefaultHandler(XML_Parser, XML_DefaultHandler);
-void XML_SetUnparsedEntityDeclHandler(XML_Parser, XML_UnparsedEntityDeclHandler);
-void XML_SetNotationDeclHandler(XML_Parser, XML_NotationDeclHandler);
-void XML_SetExternalEntityRefHandler(XML_Parser, XML_ExternalEntityRefHandler);
-void XML_SetStartNamespaceDeclHandler(XML_Parser, XML_StartNamespaceDeclHandler);
-void XML_SetEndNamespaceDeclHandler(XML_Parser, XML_EndNamespaceDeclHandler);
-int XML_Parse(XML_Parser, const XML_Char *, int data_len, int is_final);
-int XML_GetErrorCode(XML_Parser);
-const XML_Char *XML_ErrorString(int);
-int XML_GetCurrentLineNumber(XML_Parser);
-int XML_GetCurrentColumnNumber(XML_Parser);
-int XML_GetCurrentByteIndex(XML_Parser);
-const XML_Char *XML_ExpatVersion(void);
-void XML_ParserFree(XML_Parser);
+PHPAPI XML_Parser XML_ParserCreate(const XML_Char *);
+PHPAPI XML_Parser XML_ParserCreateNS(const XML_Char *, const XML_Char);
+PHPAPI XML_Parser XML_ParserCreate_MM(const XML_Char *, const
XML_Memory_Handling_Suite *, const XML_Char *);
+PHPAPI void XML_SetUserData(XML_Parser, void *);
+PHPAPI void *XML_GetUserData(XML_Parser);
+PHPAPI void XML_SetElementHandler(XML_Parser, XML_StartElementHandler,
XML_EndElementHandler);
+PHPAPI void XML_SetCharacterDataHandler(XML_Parser, XML_CharacterDataHandler);
+PHPAPI void XML_SetProcessingInstructionHandler(XML_Parser,
XML_ProcessingInstructionHandler);
+PHPAPI void XML_SetDefaultHandler(XML_Parser, XML_DefaultHandler);
+PHPAPI void XML_SetUnparsedEntityDeclHandler(XML_Parser,
XML_UnparsedEntityDeclHandler);
+PHPAPI void XML_SetNotationDeclHandler(XML_Parser, XML_NotationDeclHandler);
+PHPAPI void XML_SetExternalEntityRefHandler(XML_Parser, XML_ExternalEntityRefHandler);
+PHPAPI void XML_SetStartNamespaceDeclHandler(XML_Parser,
XML_StartNamespaceDeclHandler);
+PHPAPI void XML_SetEndNamespaceDeclHandler(XML_Parser, XML_EndNamespaceDeclHandler);
+PHPAPI int XML_Parse(XML_Parser, const XML_Char *, int data_len, int is_final);
+PHPAPI int XML_GetErrorCode(XML_Parser);
+PHPAPI const XML_Char *XML_ErrorString(int);
+PHPAPI int XML_GetCurrentLineNumber(XML_Parser);
+PHPAPI int XML_GetCurrentColumnNumber(XML_Parser);
+PHPAPI int XML_GetCurrentByteIndex(XML_Parser);
+PHPAPI int XML_GetCurrentByteCount(XML_Parser);
+PHPAPI const XML_Char *XML_ExpatVersion(void);
+PHPAPI void XML_ParserFree(XML_Parser);
#elif defined(HAVE_LIBEXPAT)
#include <expat.h>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php