summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFredrik Lundh <fredrik@pythonware.com>2005-12-13 21:55:36 (GMT)
committerFredrik Lundh <fredrik@pythonware.com>2005-12-13 21:55:36 (GMT)
commitcc117dbb9d925ade41ae3e43ff2292b83b5d9b32 (patch)
tree6891bbe7284dcd18868bb030deee793e07a38ce5
parentd7a42881dba311e66f5091cbe0ec7c01f511cc2c (diff)
downloadcpython-cc117dbb9d925ade41ae3e43ff2292b83b5d9b32.zip
cpython-cc117dbb9d925ade41ae3e43ff2292b83b5d9b32.tar.gz
cpython-cc117dbb9d925ade41ae3e43ff2292b83b5d9b32.tar.bz2
moved magic into structure (mainly to simplify the client code)
added missing API hooks
-rw-r--r--Include/pyexpat.h8
-rw-r--r--Modules/pyexpat.c10
2 files changed, 10 insertions, 8 deletions
diff --git a/Include/pyexpat.h b/Include/pyexpat.h
index d4acb9a..50ed49f 100644
--- a/Include/pyexpat.h
+++ b/Include/pyexpat.h
@@ -7,15 +7,17 @@
struct PyExpat_CAPI
{
+ char* magic; /* set to PyExpat_CAPI_MAGIC */
int size; /* set to sizeof(struct PyExpat_CAPI) */
- int MAJOR_VERSION; /* XXX: use the ExpatVersionInfo instead? */
+ int MAJOR_VERSION;
int MINOR_VERSION;
int MICRO_VERSION;
/* pointers to selected expat functions. add new functions at
the end, if needed */
const XML_LChar * (*ErrorString)(enum XML_Error code);
- int (*GetCurrentColumnNumber)(XML_Parser parser);
- int (*GetCurrentLineNumber)(XML_Parser parser);
+ enum XML_Error (*GetErrorCode)(XML_Parser parser);
+ int (*GetErrorColumnNumber)(XML_Parser parser);
+ int (*GetErrorLineNumber)(XML_Parser parser);
enum XML_Status (*Parse)(
XML_Parser parser, const char *s, int len, int isFinal);
XML_Parser (*ParserCreate_MM)(
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 2da80c8..ca2a850 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -2018,12 +2018,14 @@ MODULE_INITFUNC(void)
/* initialize pyexpat dispatch table */
capi.size = sizeof(capi);
+ capi.magic = PyExpat_CAPI_MAGIC;
capi.MAJOR_VERSION = XML_MAJOR_VERSION;
capi.MINOR_VERSION = XML_MINOR_VERSION;
capi.MICRO_VERSION = XML_MICRO_VERSION;
capi.ErrorString = XML_ErrorString;
- capi.GetCurrentColumnNumber = XML_GetCurrentColumnNumber;
- capi.GetCurrentLineNumber = XML_GetCurrentLineNumber;
+ capi.GetErrorCode = XML_GetErrorCode;
+ capi.GetErrorColumnNumber = XML_GetErrorColumnNumber;
+ capi.GetErrorLineNumber = XML_GetErrorLineNumber;
capi.Parse = XML_Parse;
capi.ParserCreate_MM = XML_ParserCreate_MM;
capi.ParserFree = XML_ParserFree;
@@ -2037,9 +2039,7 @@ MODULE_INITFUNC(void)
capi.SetUserData = XML_SetUserData;
/* export as cobject */
- capi_object = PyCObject_FromVoidPtrAndDesc(
- &capi, PyExpat_CAPI_MAGIC, NULL
- );
+ capi_object = PyCObject_FromVoidPtr(&capi, NULL);
if (capi_object)
PyModule_AddObject(m, "expat_CAPI", capi_object);
}