From ce4e73342db7359567d26b56413d9d5ae31a3e74 Mon Sep 17 00:00:00 2001
From: Alberto Massari <amassari@apache.org>
Date: Fri, 6 Jul 2007 14:57:08 +0000
Subject: [PATCH] Changed BinOutputStream interface to have curPos return a
 64-bit integer, and use XMLSize_t in writeBytes (XERCESC-1531)

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@553915 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/framework/BinOutputStream.hpp    |  4 ++--
 src/xercesc/internal/BinFileOutputStream.cpp |  6 +++---
 src/xercesc/internal/BinFileOutputStream.hpp |  6 +++---
 src/xercesc/internal/BinMemOutputStream.cpp  | 12 ++++++------
 src/xercesc/internal/BinMemOutputStream.hpp  | 14 +++++++-------
 5 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/xercesc/framework/BinOutputStream.hpp b/src/xercesc/framework/BinOutputStream.hpp
index 6b9c8eb5f..b750862a2 100644
--- a/src/xercesc/framework/BinOutputStream.hpp
+++ b/src/xercesc/framework/BinOutputStream.hpp
@@ -37,12 +37,12 @@ public :
     // -----------------------------------------------------------------------
     //  The virtual output stream interface
     // -----------------------------------------------------------------------
-    virtual unsigned int curPos() const = 0;
+    virtual XMLFilePos curPos() const = 0;
 
     virtual void writeBytes
     (
           const XMLByte* const      toGo
-        , const unsigned int        maxToWrite
+        , const XMLSize_t           maxToWrite
     ) = 0;
 
 protected :
diff --git a/src/xercesc/internal/BinFileOutputStream.cpp b/src/xercesc/internal/BinFileOutputStream.cpp
index fa47b92bf..bdc5c1eef 100644
--- a/src/xercesc/internal/BinFileOutputStream.cpp
+++ b/src/xercesc/internal/BinFileOutputStream.cpp
@@ -58,7 +58,7 @@ BinFileOutputStream::BinFileOutputStream(const char*    const fileName
 // ---------------------------------------------------------------------------
 //  BinFileOutputStream: Getter methods
 // ---------------------------------------------------------------------------
-unsigned int BinFileOutputStream::getSize() const
+XMLFilePos BinFileOutputStream::getSize() const
 {
     return XMLPlatformUtils::fileSize(fSource, fMemoryManager);
 }
@@ -76,14 +76,14 @@ void BinFileOutputStream::reset()
 // ---------------------------------------------------------------------------
 //  BinFileOutputStream: Implementation of the input stream interface
 // ---------------------------------------------------------------------------
-unsigned int BinFileOutputStream::curPos() const
+XMLFilePos BinFileOutputStream::curPos() const
 {
     return XMLPlatformUtils::curFilePos(fSource, fMemoryManager);
 }
 
 
 void BinFileOutputStream::writeBytes( const XMLByte* const  toGo
-                                    , const unsigned int    maxToWrite)
+                                    , const XMLSize_t       maxToWrite)
 {
     //
     //  Write up to the maximum bytes requested. 
diff --git a/src/xercesc/internal/BinFileOutputStream.hpp b/src/xercesc/internal/BinFileOutputStream.hpp
index 3b7595600..ba4cb8526 100644
--- a/src/xercesc/internal/BinFileOutputStream.hpp
+++ b/src/xercesc/internal/BinFileOutputStream.hpp
@@ -52,19 +52,19 @@ public :
     //  Getter methods
     // -----------------------------------------------------------------------
     bool getIsOpen() const;
-    unsigned int getSize() const;
+    XMLFilePos getSize() const;
     void reset();
 
 
     // -----------------------------------------------------------------------
     //  Implementation of the input stream interface
     // -----------------------------------------------------------------------
-    virtual unsigned int curPos() const;
+    virtual XMLFilePos curPos() const;
 
     virtual void writeBytes
     (
           const XMLByte* const      toGo
-        , const unsigned int        maxToWrite
+        , const XMLSize_t        maxToWrite
     );
 
 
diff --git a/src/xercesc/internal/BinMemOutputStream.cpp b/src/xercesc/internal/BinMemOutputStream.cpp
index 1fab9ca11..56d642375 100644
--- a/src/xercesc/internal/BinMemOutputStream.cpp
+++ b/src/xercesc/internal/BinMemOutputStream.cpp
@@ -25,7 +25,7 @@
 
 XERCES_CPP_NAMESPACE_BEGIN
 
-BinMemOutputStream::BinMemOutputStream( int                  initCapacity
+BinMemOutputStream::BinMemOutputStream( XMLSize_t            initCapacity
                                       , MemoryManager* const manager)
 : fMemoryManager(manager)
 , fDataBuf(0)
@@ -48,7 +48,7 @@ BinMemOutputStream::~BinMemOutputStream()
 }
 
 void BinMemOutputStream::writeBytes( const XMLByte*     const      toGo
-                                   , const unsigned int            maxToWrite)
+                                   , const XMLSize_t               maxToWrite)
 {
 
     if (maxToWrite) 
@@ -78,12 +78,12 @@ void BinMemOutputStream::reset()
     }
 }
 
-unsigned int BinMemOutputStream::curPos() const
+XMLFilePos BinMemOutputStream::curPos() const
 {
     return fIndex;
 }
 
-unsigned int BinMemOutputStream::getSize() const
+XMLFilePos BinMemOutputStream::getSize() const
 {
     return fCapacity;
 }
@@ -91,14 +91,14 @@ unsigned int BinMemOutputStream::getSize() const
 // ---------------------------------------------------------------------------
 //  BinMemOutputStream: Private helper methods
 // ---------------------------------------------------------------------------
-void BinMemOutputStream::insureCapacity(const unsigned int extraNeeded)
+void BinMemOutputStream::insureCapacity(const XMLSize_t extraNeeded)
 {
     // If we can handle it, do nothing yet
     if (fIndex + extraNeeded < fCapacity)
         return;
 
     // Oops, not enough room. Calc new capacity and allocate new buffer
-    const unsigned int newCap = (unsigned int)((fIndex + extraNeeded) * 2);
+    const XMLSize_t newCap = ((fIndex + extraNeeded) * 2);
     XMLByte* newBuf = (XMLByte*) fMemoryManager->allocate
     (
         (newCap+4) * sizeof(XMLByte)
diff --git a/src/xercesc/internal/BinMemOutputStream.hpp b/src/xercesc/internal/BinMemOutputStream.hpp
index d6fbf8237..73013c3e1 100644
--- a/src/xercesc/internal/BinMemOutputStream.hpp
+++ b/src/xercesc/internal/BinMemOutputStream.hpp
@@ -38,19 +38,19 @@ public :
 
     BinMemOutputStream
     (
-         int                     initCapacity = 1023
+         XMLSize_t               initCapacity = 1023
        , MemoryManager* const    manager      = XMLPlatformUtils::fgMemoryManager
     );
 
     // -----------------------------------------------------------------------
     //  Implementation of the output stream interface
     // -----------------------------------------------------------------------
-    virtual unsigned int curPos() const;
+    virtual XMLFilePos curPos() const;
 
     virtual void writeBytes
     (
       const XMLByte*     const      toGo
-    , const unsigned int            maxToWrite
+    , const XMLSize_t            maxToWrite
     ) ;
 
     // -----------------------------------------------------------------------
@@ -58,7 +58,7 @@ public :
     // -----------------------------------------------------------------------
     const XMLByte* getRawBuffer() const;
 
-    unsigned int getSize() const;
+    XMLFilePos getSize() const;
     void reset();
 
 private :
@@ -71,7 +71,7 @@ private :
     // -----------------------------------------------------------------------
     //  Private helpers
     // -----------------------------------------------------------------------
-    void insureCapacity(const unsigned int extraNeeded);
+    void insureCapacity(const XMLSize_t extraNeeded);
 
     // -----------------------------------------------------------------------
     //  Private data members
@@ -91,8 +91,8 @@ private :
     // -----------------------------------------------------------------------
     MemoryManager*  fMemoryManager;
     XMLByte*        fDataBuf;
-    unsigned int    fIndex;
-    unsigned int    fCapacity;
+    XMLSize_t       fIndex;
+    XMLSize_t       fCapacity;
 
 };
 
-- 
GitLab