]> granicus.if.org Git - python/commitdiff
moved magic into structure (mainly to simplify the client code)
authorFredrik Lundh <fredrik@pythonware.com>
Tue, 13 Dec 2005 21:55:36 +0000 (21:55 +0000)
committerFredrik Lundh <fredrik@pythonware.com>
Tue, 13 Dec 2005 21:55:36 +0000 (21:55 +0000)
added missing API hooks

Include/pyexpat.h
Modules/pyexpat.c

index d4acb9aa7eef1331dfde6641dba979aff99064a0..50ed49f5fc6aa936e4479182ab42477e6347881c 100644 (file)
@@ -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)(
index 2da80c8b816fa25fdabca7e056d849e01754fe6d..ca2a850478c86f4cc41fa9e88184b7dbdffec6fa 100644 (file)
@@ -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);
 }