You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2003/11/04 07:52:38 UTC

svn commit: rev 84 - xml/xerces-p/trunk/Handler

Author: jasons
Date: Mon Nov  3 21:26:18 2003
New Revision: 84

Modified:
   xml/xerces-p/trunk/Handler/PerlCallbackHandler.cpp
   xml/xerces-p/trunk/Handler/PerlCallbackHandler.hpp
   xml/xerces-p/trunk/Handler/PerlCallbackHandler.swig.hpp
   xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.hpp
   xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.i
   xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.hpp
   xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.i
Log:
multiple inheritance now works with PerlCallbackHandler (fixes 24373)

Modified: xml/xerces-p/trunk/Handler/PerlCallbackHandler.cpp
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlCallbackHandler.cpp	(original)
+++ xml/xerces-p/trunk/Handler/PerlCallbackHandler.cpp	Mon Nov  3 21:26:18 2003
@@ -19,15 +19,15 @@
     callbackObj = object;
 }
 
-// SV*
-// PerlCallbackHandler::set_callback_obj(SV* object) {
-//     SV *oldRef = &PL_sv_undef;	// default to 'undef'
-//     if (callbackObj != NULL) {
-// 	oldRef = callbackObj;
-// 	SvREFCNT_dec(oldRef);
-//     }
-//     SvREFCNT_inc(object);
-//     callbackObj = object;
-//     return oldRef;
-// }
+SV*
+PerlCallbackHandler::set_callback_obj(SV* object) {
+    SV *oldRef = &PL_sv_undef;	// default to 'undef'
+    if (callbackObj != NULL) {
+	oldRef = callbackObj;
+//	SvREFCNT_dec(oldRef);
+    }
+    SvREFCNT_inc(object);
+    callbackObj = object;
+    return oldRef;
+}
 

Modified: xml/xerces-p/trunk/Handler/PerlCallbackHandler.hpp
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlCallbackHandler.hpp	(original)
+++ xml/xerces-p/trunk/Handler/PerlCallbackHandler.hpp	Mon Nov  3 21:26:18 2003
@@ -45,7 +45,7 @@
     PerlCallbackHandler(SV*);
     virtual ~PerlCallbackHandler();
 
-//    SV* set_callback_obj(SV*);
+    SV* set_callback_obj(SV*);
 };
 
 #endif /* __PERLCALLBACKHANDLER */

Modified: xml/xerces-p/trunk/Handler/PerlCallbackHandler.swig.hpp
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlCallbackHandler.swig.hpp	(original)
+++ xml/xerces-p/trunk/Handler/PerlCallbackHandler.swig.hpp	Mon Nov  3 21:26:18 2003
@@ -2,18 +2,18 @@
 
 public:
 
-//    PerlCallbackHandler();
-//    PerlCallbackHandler(SV*);
-//    void set_callback_obj(SV*);
+   PerlCallbackHandler();
+   PerlCallbackHandler(SV*);
+   void set_callback_obj(SV*);
 };
 
-class PerlNodeFilterCallbackHandler : public IDOM_NodeFilter, public PerlCallbackHandler {
+class PerlNodeFilterCallbackHandler : public DOMNodeFilter, public PerlCallbackHandler {
 
 public:
 
     PerlNodeFilterCallbackHandler();
     PerlNodeFilterCallbackHandler(SV*);
-    void set_callback_obj(SV*);
+//    void set_callback_obj(SV*);
 
 };
 
@@ -23,7 +23,7 @@
 
     PerlDocumentCallbackHandler();
     PerlDocumentCallbackHandler(SV*);
-    void set_callback_obj(SV*);
+//    void set_callback_obj(SV*);
 
 };
 
@@ -33,7 +33,7 @@
 
     PerlContentCallbackHandler();
     PerlContentCallbackHandler(SV*);
-    void set_callback_obj(SV*);
+//    void set_callback_obj(SV*);
 
 };
 
@@ -43,7 +43,7 @@
 
     PerlEntityResolverHandler();
     PerlEntityResolverHandler(SV*);
-    void set_callback_obj(SV*);
+//    void set_callback_obj(SV*);
 
 };
 
@@ -53,7 +53,7 @@
 
     PerlErrorCallbackHandler();
     PerlErrorCallbackHandler(SV*);
-    void set_callback_obj(SV*);
+//    void set_callback_obj(SV*);
 };
 
 

Modified: xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.hpp
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.hpp	(original)
+++ xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.hpp	Mon Nov  3 21:26:18 2003
@@ -9,11 +9,11 @@
 XERCES_CPP_NAMESPACE_USE
 
 class PerlEntityResolverHandler: public EntityResolver
-//			       , public  PerlCallbackHandler
+			       , public PerlCallbackHandler
  {
 
 protected:
-    SV *callbackObj;
+//    SV *callbackObj;
 
 public:
 
@@ -21,7 +21,7 @@
     PerlEntityResolverHandler(SV *obj);
     ~PerlEntityResolverHandler();
 
-    SV* set_callback_obj(SV*);
+//     SV* set_callback_obj(SV*);
 
 	// The EntityResolver interface
     InputSource* resolveEntity (const XMLCh* const publicId, 

Modified: xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.i
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.i	(original)
+++ xml/xerces-p/trunk/Handler/PerlEntityResolverHandler.i	Mon Nov  3 21:26:18 2003
@@ -25,19 +25,19 @@
     set_callback_obj(obj);
 }
 
-SV*
-PerlEntityResolverHandler::set_callback_obj(SV* object) {
-    SV *oldRef = &PL_sv_undef;	// default to 'undef'
-    if (callbackObj != NULL) {
-	oldRef = callbackObj;
-#if defined(PERL_VERSION) && PERL_VERSION >= 8
-//	SvREFCNT_dec(oldRef);
-#endif
-    }
-    SvREFCNT_inc(object);
-    callbackObj = object;
-    return oldRef;
-}
+// SV*
+// PerlEntityResolverHandler::set_callback_obj(SV* object) {
+//     SV *oldRef = &PL_sv_undef;	// default to 'undef'
+//     if (callbackObj != NULL) {
+// 	oldRef = callbackObj;
+// #if defined(PERL_VERSION) && PERL_VERSION >= 8
+// //	SvREFCNT_dec(oldRef);
+// #endif
+//     }
+//     SvREFCNT_inc(object);
+//     callbackObj = object;
+//     return oldRef;
+// }
 
 InputSource *
 PerlEntityResolverHandler::resolveEntity (const XMLCh* const publicId, 
@@ -58,12 +58,18 @@
     XPUSHs(callbackObj);
 
         // the next argument is the publicId
-    char *cptr1 = XMLString::transcode(publicId);
+
+	// this transcode has two problems 1) it will leak if not deleted
+	// and 2) why are we getting a char*, doesn't this screw up Unicode?
+    char *cptr1 = XMLString::transcode(publicId); 
     SV *string1 = sv_newmortal();
     sv_setpv(string1, (char *)cptr1);
     XPUSHs(string1);
 
         // the next argument is the systemId
+
+ 	// this transcode has two problems 1) it will leak if not deleted
+	// and 2) why are we getting a char*, doesn't this screw up Unicode?
     char *cptr2 = XMLString::transcode(systemId);
     SV *string2 = sv_newmortal();
     sv_setpv(string2, (char *)cptr2);

Modified: xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.hpp
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.hpp	(original)
+++ xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.hpp	Mon Nov  3 21:26:18 2003
@@ -7,11 +7,11 @@
 XERCES_CPP_NAMESPACE_USE
 
 class PerlNodeFilterCallbackHandler : public DOMNodeFilter
-//				    , public  PerlCallbackHandler
+				    , public PerlCallbackHandler
 {
 
 protected:
-    SV *callbackObj;
+//     SV *callbackObj;
 
 public:
 
@@ -19,10 +19,10 @@
     PerlNodeFilterCallbackHandler(SV *obj);
     ~PerlNodeFilterCallbackHandler();
 
-    SV* set_callback_obj(SV*);
+//     SV* set_callback_obj(SV*);
 
 	// The NodeFilter interface
     short acceptNode (const DOMNode* node) const;
 };
 
-#endif __PERLNODEFILTERCALLBACKHANDLER
+#endif /* __PERLNODEFILTERCALLBACKHANDLER */

Modified: xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.i
==============================================================================
--- xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.i	(original)
+++ xml/xerces-p/trunk/Handler/PerlNodeFilterCallbackHandler.i	Mon Nov  3 21:26:18 2003
@@ -18,19 +18,19 @@
     set_callback_obj(obj);
 }
 
-SV*
-PerlNodeFilterCallbackHandler::set_callback_obj(SV* object) {
-    SV *oldRef = &PL_sv_undef;	// default to 'undef'
-    if (callbackObj != NULL) {
-	oldRef = callbackObj;
-#if defined(PERL_VERSION) && PERL_VERSION >= 8
-//	SvREFCNT_dec(oldRef);
-#endif
-    }
-    SvREFCNT_inc(object);
-    callbackObj = object;
-    return oldRef;
-}
+// SV*
+// PerlNodeFilterCallbackHandler::set_callback_obj(SV* object) {
+//     SV *oldRef = &PL_sv_undef;	// default to 'undef'
+//     if (callbackObj != NULL) {
+// 	oldRef = callbackObj;
+// #if defined(PERL_VERSION) && PERL_VERSION >= 8
+// //	SvREFCNT_dec(oldRef);
+// #endif
+//     }
+//     SvREFCNT_inc(object);
+//     callbackObj = object;
+//     return oldRef;
+// }
 
 short
 PerlNodeFilterCallbackHandler::acceptNode (const DOMNode* node) const

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org