The calls look OK, but each one is a memory leak, since you are required to
delete the pointer returned from XMLString::transcode():

XMLCh*  str = XMLString::transcode("foo");

delete [] str;

Dave



                                                                                       
        
                    jason@openinfor                                                    
        
                    matics.com             To:     [EMAIL PROTECTED]         
        
                    (Jason E.              cc:     (bcc: David N Bertoni/CAM/Lotus)    
        
                    Stewart)               Subject:     Re: SIGSEV in                  
        
                                           
IDOM_DOMImplementation::createDocumentType()        
                    07/03/2001                                                         
        
                    01:30 PM                                                           
        
                    Please respond                                                     
        
                    to xerces-c-dev                                                    
        
                                                                                       
        
                                                                                       
        



"Tinny Ng" <[EMAIL PROTECTED]> writes:

> If it works for most other IDOM methods, except
> getElementsByTagName(), then there may be a bug in this function
>
> Can you post your modified sample program for further investigation?

Hey Tinny,

Thanks for the response.

Here's the CVS diff output for the version that segfaults using
createDocumentType()

Am I doing something wrong with XMLString::transcode() that is causing
the code to segfault? If so that would explain why.

The corresponding code works for DOM_DOMImplementation, but using
DOMString's.

Sorry that I'm so lame that I added it to IDOMCount.cpp, but since
most of my coding is in Perl it's much simpler just to modify the
example code.

jas.


Index: IDOMCount.cpp
===================================================================
RCS file: /home/cvspublic/xml-xerces/c/samples/IDOMCount/IDOMCount.cpp,v
retrieving revision 1.3
diff -b -B -u -r1.3 IDOMCount.cpp
--- IDOMCount.cpp         2001/05/28 21:25:01            1.3
+++ IDOMCount.cpp         2001/07/03 20:09:11
@@ -67,6 +67,7 @@
 #include <parsers/IDOMParser.hpp>
 #include <idom/IDOM_DOMException.hpp>
 #include <idom/IDOM_Document.hpp>
+#include <idom/IDOM_DOMImplementation.hpp>
 #include "IDOMCount.hpp"
 #include <string.h>
 #include <stdlib.h>
@@ -218,6 +219,9 @@
     parser.setValidationScheme(valScheme);
     parser.setDoNamespaces(doNamespaces);
     parser.setDoSchema(doSchema);
+
+    IDOM_DOMImplementation *impl =
IDOM_DOMImplementation::getImplementation();
+    impl->createDocumentType(XMLString::transcode
("foo"),XMLString::transcode("foo"),XMLString::transcode("foo"));

     // And create our error handler and install it
     DOMCountErrorHandler errorHandler;

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to