rrichards               Sat Jun 14 11:27:15 2003 EDT

  Modified files:              
    /php4/ext/dom       php_dom.c xml_common.h 
  Log:
  fix xml_parser_inited on win32
  add common structs for better interoprability
  
Index: php4/ext/dom/php_dom.c
diff -u php4/ext/dom/php_dom.c:1.10 php4/ext/dom/php_dom.c:1.11
--- php4/ext/dom/php_dom.c:1.10 Thu Jun 12 16:02:05 2003
+++ php4/ext/dom/php_dom.c      Sat Jun 14 11:27:15 2003
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: php_dom.c,v 1.10 2003/06/12 20:02:05 rrichards Exp $ */
+/* $Id: php_dom.c,v 1.11 2003/06/14 15:27:15 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -37,7 +37,7 @@
 #define PHP_XPATH 1
 #define PHP_XPTR 2
 
-extern int xml_parser_inited;
+DOM_IMPORT int xml_parser_inited;
 
 zend_object_handlers dom_object_handlers;
 
Index: php4/ext/dom/xml_common.h
diff -u php4/ext/dom/xml_common.h:1.5 php4/ext/dom/xml_common.h:1.6
--- php4/ext/dom/xml_common.h:1.5       Tue Jun 10 16:03:27 2003
+++ php4/ext/dom/xml_common.h   Sat Jun 14 11:27:15 2003
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: xml_common.h,v 1.5 2003/06/10 20:03:27 imajes Exp $ */
+/* $Id: xml_common.h,v 1.6 2003/06/14 15:27:15 rrichards Exp $ */
 
 #ifndef PHP_XML_COMMON_H
 #define PHP_XML_COMMON_H 
@@ -27,12 +27,23 @@
        void *next;
 } node_list_pointer;
 
+typedef struct _doc_ref_obj {
+       void *ptr;
+       int   refcount;
+} doc_ref_obj;
+
 typedef struct _dom_ref_obj {
        void *ptr;
        int   refcount;
        node_list_pointer *node_list;
 } dom_ref_obj;
 
+typedef struct _node_object {
+       zend_object  std;
+       xmlNodePtr node;
+       doc_ref_obj *document;
+} node_object;
+
 typedef struct _dom_object {
        zend_object  std;
        void *ptr;
@@ -50,6 +61,9 @@
 #else
 #define PHPAPI __declspec(dllimport)
 #endif /* DOM_EXPORTS */
+#define DOM_IMPORT __declspec(dllimport)
+#else
+#define DOM_IMPORT extern
 #endif /* PHP_WIN32 */
 
 #ifdef ZTS
@@ -85,6 +99,16 @@
                php_error(E_WARNING, "Couldn't fetch %s", __intern->std.ce->name);\
                RETURN_NULL();\
        } \
+}
+
+#define DOC_GET_OBJ(__ptr, __id, __prtype, __intern) { \
+       __intern = (node_object *)zend_object_store_get_object(__id TSRMLS_CC); \
+       if (__intern->document != NULL) { \
+               if (!(__ptr = (__prtype)__intern->document->ptr)) { \
+                       php_error(E_WARNING, "Couldn't fetch %s", 
__intern->std.ce->name);\
+                       RETURN_NULL();\
+               } \
+       } \
 }
 
 #define DOM_DOMOBJ_NEW(zval, obj, ret, domobject) \



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to