knoaman     2002/12/03 07:31:20

  Modified:    c/src/xercesc/internal XMLReader.hpp XMLReader.cpp
                        ReaderMgr.hpp ReaderMgr.cpp
  Log:
  Enable/disable calculation of src offset.
  
  Revision  Changes    Path
  1.9       +7 -0      xml-xerces/c/src/xercesc/internal/XMLReader.hpp
  
  Index: XMLReader.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLReader.hpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XMLReader.hpp     2 Dec 2002 17:20:05 -0000       1.8
  +++ XMLReader.hpp     3 Dec 2002 15:31:19 -0000       1.9
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.9  2002/12/03 15:31:19  knoaman
  + * Enable/disable calculation of src offset.
  + *
    * Revision 1.8  2002/12/02 17:20:05  knoaman
    * Remove unused data member.
    *
  @@ -262,6 +265,7 @@
           , const Types                       type
           , const Sources                     source
           , const bool                        throwAtEnd = false
  +        , const bool                        calculateSrcOfs = true
       );
   
       XMLReader
  @@ -274,6 +278,7 @@
           , const Types                       type
           , const Sources                     source
           , const bool                        throwAtEnd = false
  +        , const bool                        calculateSrcOfs = true
       );
   
       XMLReader
  @@ -286,6 +291,7 @@
           , const Types                       type
           , const Sources                     source
           , const bool                        throwAtEnd = false
  +        , const bool                        calculateSrcOfs = true
       );
   
       ~XMLReader();
  @@ -564,6 +570,7 @@
       Sources                     fSource;
       unsigned int                fSrcOfsBase;
       bool                        fSrcOfsSupported;
  +    bool                        fCalculateSrcOfs;
       XMLCh*                      fSystemId;
       BinInputStream*             fStream;
       bool                        fSwapped;
  
  
  
  1.10      +15 -7     xml-xerces/c/src/xercesc/internal/XMLReader.cpp
  
  Index: XMLReader.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XMLReader.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLReader.cpp     2 Dec 2002 17:20:05 -0000       1.9
  +++ XMLReader.cpp     3 Dec 2002 15:31:19 -0000       1.10
  @@ -169,7 +169,8 @@
                       , const RefFrom                     from
                       , const Types                       type
                       , const Sources                     source
  -                    , const bool                        throwAtEnd) :
  +                    , const bool                        throwAtEnd
  +                    , const bool                        calculateSrcOfs) :
       fCharIndex(0)
       , fCharsAvail(0)
       , fCurCol(1)
  @@ -186,6 +187,7 @@
       , fSource(source)
       , fSrcOfsBase(0)
       , fSrcOfsSupported(false)
  +    , fCalculateSrcOfs(calculateSrcOfs)
       , fStream(streamToAdopt)
       , fSystemId(XMLString::replicate(sysId))
       , fSwapped(false)
  @@ -242,7 +244,8 @@
                       , const RefFrom                 from
                       , const Types                   type
                       , const Sources                 source
  -                    , const bool                    throwAtEnd) :
  +                    , const bool                    throwAtEnd
  +                    , const bool                    calculateSrcOfs) :
       fCharIndex(0)
       , fCharsAvail(0)
       , fCurCol(1)
  @@ -260,6 +263,7 @@
       , fSource(source)
       , fSrcOfsBase(0)
       , fSrcOfsSupported(false)
  +    , fCalculateSrcOfs(calculateSrcOfs)
       , fStream(streamToAdopt)
       , fSystemId(XMLString::replicate(sysId))
       , fSwapped(false)
  @@ -353,7 +357,8 @@
                       , const RefFrom                 from
                       , const Types                   type
                       , const Sources                 source
  -                    , const bool                    throwAtEnd) :
  +                    , const bool                    throwAtEnd
  +                    , const bool                    calculateSrcOfs) :
       fCharIndex(0)
       , fCharsAvail(0)
       , fCurCol(1)
  @@ -371,6 +376,7 @@
       , fSource(source)
       , fSrcOfsBase(0)
       , fSrcOfsSupported(false)
  +    , fCalculateSrcOfs(calculateSrcOfs)
       , fStream(streamToAdopt)
       , fSystemId(XMLString::replicate(sysId))
       , fSwapped(false)
  @@ -447,7 +453,7 @@
   // ---------------------------------------------------------------------------
   unsigned int XMLReader::getSrcOffset() const
   {
  -    if (!fSrcOfsSupported)
  +    if (!fSrcOfsSupported || !fCalculateSrcOfs)
           ThrowXML(RuntimeException, XMLExcepts::Reader_SrcOfsNotSupported);
   
       //
  @@ -515,8 +521,10 @@
       //  Add the number of source bytes eaten so far to the base src
       //  offset member.
       //
  -    for (startInd = 0; startInd < fCharIndex; startInd++)
  -        fSrcOfsBase += fCharSizeBuf[startInd];
  +    if (fCalculateSrcOfs) {
  +        for (startInd = 0; startInd < fCharIndex; startInd++)
  +            fSrcOfsBase += fCharSizeBuf[startInd];
  +    }
   
       //
       //  If there are spare chars, then move then down to the bottom. We
  
  
  
  1.5       +7 -0      xml-xerces/c/src/xercesc/internal/ReaderMgr.hpp
  
  Index: ReaderMgr.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/ReaderMgr.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ReaderMgr.hpp     4 Nov 2002 14:58:18 -0000       1.4
  +++ ReaderMgr.hpp     3 Dec 2002 15:31:19 -0000       1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2002/12/03 15:31:19  knoaman
  + * Enable/disable calculation of src offset.
  + *
    * Revision 1.4  2002/11/04 14:58:18  tng
    * C++ Namespace Support.
    *
  @@ -218,6 +221,7 @@
           , const XMLReader::RefFrom  refFrom
           , const XMLReader::Types    type
           , const XMLReader::Sources  source
  +        , const bool                calcSrsOfs = true
       );
       XMLReader* createReader
       (
  @@ -228,6 +232,7 @@
           , const XMLReader::Types    type
           , const XMLReader::Sources  source
           ,       InputSource*&       srcToFill
  +        , const bool                calcSrcOfs = true
       );
       XMLReader* createReader
       (
  @@ -239,6 +244,7 @@
           , const XMLReader::Types    type
           , const XMLReader::Sources  source
           ,       InputSource*&       srcToFill
  +        , const bool                calcSrcOfs = true
       );
       XMLReader* createIntEntReader
       (
  @@ -248,6 +254,7 @@
           , const XMLCh* const        dataBuf
           , const unsigned int        dataLen
           , const bool                copyBuf
  +        , const bool                calcSrcOfs = true
       );
       bool isScanningPERefOutOfLiteral() const;
       bool pushReader
  
  
  
  1.8       +17 -5     xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp
  
  Index: ReaderMgr.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/ReaderMgr.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ReaderMgr.cpp     25 Nov 2002 21:31:08 -0000      1.7
  +++ ReaderMgr.cpp     3 Dec 2002 15:31:19 -0000       1.8
  @@ -411,7 +411,8 @@
                                       , const bool                xmlDecl
                                       , const XMLReader::RefFrom  refFrom
                                       , const XMLReader::Types    type
  -                                    , const XMLReader::Sources  source)
  +                                    , const XMLReader::Sources  source
  +                                    , const bool                calcSrcOfs)
   {
       //
       //  Ask the input source to create us an input stream. The particular
  @@ -447,6 +448,8 @@
                   , refFrom
                   , type
                   , source
  +                , false
  +                , calcSrcOfs
                   );
           }
           else
  @@ -459,6 +462,8 @@
                   , refFrom
                   , type
                   , source
  +                , false
  +                , calcSrcOfs
                   );
           }
       }
  @@ -487,7 +492,8 @@
                                       , const XMLReader::RefFrom  refFrom
                                       , const XMLReader::Types    type
                                       , const XMLReader::Sources  source
  -                                    ,       InputSource*&       srcToFill)
  +                                    ,       InputSource*&       srcToFill
  +                                    , const bool                calcSrcOfs)
   {
       // Create a buffer for expanding the system id
       XMLBuffer expSysId;
  @@ -565,6 +571,7 @@
           , refFrom
           , type
           , source
  +        , calcSrcOfs
       );
   
       // Either way, we can release the input source now
  @@ -587,7 +594,8 @@
                                       , const XMLReader::RefFrom  refFrom
                                       , const XMLReader::Types    type
                                       , const XMLReader::Sources  source
  -                                    ,       InputSource*&       srcToFill)
  +                                    ,       InputSource*&       srcToFill
  +                                    , const bool                calcSrcOfs)
   {
       // Create a buffer for expanding the system id
       XMLBuffer expSysId;
  @@ -666,6 +674,7 @@
           , refFrom
           , type
           , source
  +        , calcSrcOfs
       );
   
       // Either way, we can release the input source now
  @@ -687,7 +696,8 @@
                                   , const XMLReader::Types    type
                                   , const XMLCh* const        dataBuf
                                   , const unsigned int        dataLen
  -                                , const bool                copyBuf)
  +                                , const bool                copyBuf
  +                                , const bool                calcSrcOfs)
   {
       //
       //  This one is easy, we just create an input stream for the data and
  @@ -716,6 +726,8 @@
           , refFrom
           , type
           , XMLReader::Source_Internal
  +        , false
  +        , calcSrcOfs
       );
   
       // If it failed for any reason, then return zero.
  
  
  

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

Reply via email to