dbertoni    01/06/15 14:16:08

  Modified:    c/src/PlatformSupport XalanOutputStream.hpp
                        XalanOutputStream.cpp
  Log:
  Removed code that required null-terminated buffers.
  
  Revision  Changes    Path
  1.5       +2 -16     xml-xalan/c/src/PlatformSupport/XalanOutputStream.hpp
  
  Index: XalanOutputStream.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/XalanOutputStream.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XalanOutputStream.hpp     2001/06/15 20:13:44     1.4
  +++ XalanOutputStream.hpp     2001/06/15 21:16:07     1.5
  @@ -273,7 +273,7 @@
   
        private:
   
  -             const XalanDOMString&   m_encoding;
  +             const XalanDOMString    m_encoding;
        };
   
        class XALAN_PLATFORMSUPPORT_EXPORT TranscoderInternalFailureException : 
public XalanOutputStreamException
  @@ -293,7 +293,7 @@
   
        private:
   
  -             const XalanDOMString&   m_encoding;
  +             const XalanDOMString    m_encoding;
        };
   
        class XALAN_PLATFORMSUPPORT_EXPORT TranscodingException : public 
XalanOutputStreamException
  @@ -310,17 +310,6 @@
   protected:
   
        /**
  -      * Transcode a null-terminated wide string.
  -      *
  -      * @param theBuffer The string to transcode.
  -      * @param theDestination The destination vector.
  -      */
  -     void
  -     transcode(
  -                     const XalanDOMChar*             theBuffer,
  -                     TranscodeVectorType&    theDestination);
  -
  -     /**
         * Transcode a wide string.
         *
         * @param theBuffer The string to transcode.
  @@ -354,9 +343,6 @@
        // Utility functions...
        void
        flushBuffer();
  -
  -     void
  -     doWrite(const XalanDOMChar*             theBuffer);
   
        void
        doWrite(
  
  
  
  1.11      +7 -49     xml-xalan/c/src/PlatformSupport/XalanOutputStream.cpp
  
  Index: XalanOutputStream.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/XalanOutputStream.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XalanOutputStream.cpp     2001/06/15 20:13:43     1.10
  +++ XalanOutputStream.cpp     2001/06/15 21:16:07     1.11
  @@ -125,33 +125,6 @@
   void
   XalanOutputStream::transcode(
                        const XalanDOMChar*             theBuffer,
  -                     TranscodeVectorType&    theDestination)
  -{
  -     // This is a special version that will short-cut when
  -     // transocding to the local code page.  On platforms
  -     // where XalanDOMChar == wchar_t, it saves copying
  -     // to a temporary buffer for the purposes of null-
  -     // terminating the string.
  -     if (m_transcoder == 0)
  -     {
  -             if (TranscodeToLocalCodePage(
  -                             theBuffer,
  -                             theDestination) == false)
  -             {
  -                     throw TranscodingException();
  -             }
  -     }
  -     else
  -     {
  -             transcode(theBuffer, length(theBuffer), theDestination);
  -     }
  -}
  -
  -
  -
  -void
  -XalanOutputStream::transcode(
  -                     const XalanDOMChar*             theBuffer,
                        unsigned long                   theBufferLength,
                        TranscodeVectorType&    theDestination)
   {
  @@ -317,9 +290,7 @@
   {
        if (m_buffer.size() > 0)
        {
  -             m_buffer.push_back(0);
  -
  -             doWrite(&*m_buffer.begin());
  +             doWrite(&*m_buffer.begin(), m_buffer.size());
   
                m_buffer.clear();
        }
  @@ -328,7 +299,9 @@
   
   
   void
  -XalanOutputStream::doWrite(const XalanDOMChar*       theBuffer)
  +XalanOutputStream::doWrite(
  +                     const XalanDOMChar*             theBuffer,
  +                     unsigned long                   theBufferLength)
   {
        assert(theBuffer != 0);
   
  @@ -341,14 +314,14 @@
                        // This is a hack to write UTF-16 through as if it
                        // were just chars.  Saves lots of time "transcoding."
   #if defined(XALAN_OLD_STYLE_CASTS)
  -                     writeData((const char*)theBuffer, length(theBuffer) * 
2);
  +                     writeData((const char*)theBuffer, theBufferLength * 2);
   #else
  -                     writeData(reinterpret_cast<const char*>(theBuffer), 
length(theBuffer) * 2);
  +                     writeData(reinterpret_cast<const char*>(theBuffer), 
theBufferLength * 2);
   #endif
                }
                else
                {
  -                     transcode(theBuffer, m_transcodingBuffer);
  +                     transcode(theBuffer, theBufferLength, 
m_transcodingBuffer);
   
                        assert(&m_transcodingBuffer[0] != 0);
   
  @@ -363,21 +336,6 @@
   
                throw;
        }
  -}
  -
  -
  -
  -void
  -XalanOutputStream::doWrite(
  -                     const XalanDOMChar*             theBuffer,
  -                     unsigned long                   theBufferLength)
  -{
  -     // $$$ ToDo: Revisit this!!!
  -     BufferType      theLocalBuffer(theBuffer, theBuffer + theBufferLength);
  -
  -     theLocalBuffer.push_back(0);
  -
  -     doWrite(&theLocalBuffer[0]);
   }
   
   
  
  
  

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

Reply via email to