tng         2002/07/22 16:24:01

  Modified:    c/src/xercesc/dom/impl DOMWriterImpl.cpp
  Log:
  DOM L3: writeToString should use the fFormatter to do the transcoding
  
  Revision  Changes    Path
  1.14      +14 -5     xml-xerces/c/src/xercesc/dom/impl/DOMWriterImpl.cpp
  
  Index: DOMWriterImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/dom/impl/DOMWriterImpl.cpp,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DOMWriterImpl.cpp 16 Jul 2002 15:19:42 -0000      1.13
  +++ DOMWriterImpl.cpp 22 Jul 2002 23:24:01 -0000      1.14
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.14  2002/07/22 23:24:01  tng
  + * DOM L3: writeToString should use the fFormatter to do the transcoding
  + *
    * Revision 1.13  2002/07/16 15:19:42  peiyongz
    * check lenght of getEncoding()/getActualEncoding()
    *
  @@ -564,6 +567,10 @@
        MemBufFormatTarget  destination;
        bool retVal;
   
  +   // XMLCh is unicode, assume fEncoding as UTF-16
  +   XMLCh* tempEncoding = fEncoding;
  +   fEncoding = (XMLCh*) XMLUni::fgUTF16EncodingString;
  +
        try
        {
                retVal = writeNode(&destination, nodeToWrite);
  @@ -574,10 +581,12 @@
                // there is a possibility that memeory allocation
                // exception thrown in XMLBuffer class
                //
  +      fEncoding = tempEncoding;
                return 0;
        }
  -     
  -     return (retVal ? destination.getString() : 0);
  +
  +    fEncoding = tempEncoding;
  +    return (retVal ? XMLString::replicate((XMLCh*) destination.getRawBuffer()) : 0);
   }
   
   void DOMWriterImpl::initSession(const DOMNode* const nodeToWrite)
  @@ -611,11 +620,11 @@
               {
                   fEncodingUsed = tmpEncoding;
               }
  -            else 
  +            else
               {
                   tmpEncoding = docu->getActualEncoding();
   
  -                if ( tmpEncoding && XMLString::stringLen(tmpEncoding))              
 
  +                if ( tmpEncoding && XMLString::stringLen(tmpEncoding))
                   {
                       fEncodingUsed = tmpEncoding;
                   }
  
  
  

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

Reply via email to