peiyongz    2002/08/27 12:24:43

  Modified:    c/src/xercesc/util XMLString.hpp XMLString.cpp
  Log:
  Bug#12087: patch from Thomas Ford ([EMAIL PROTECTED])
  
  Revision  Changes    Path
  1.3       +4 -1      xml-xerces/c/src/xercesc/util/XMLString.hpp
  
  Index: XMLString.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLString.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLString.hpp     20 Feb 2002 18:17:02 -0000      1.2
  +++ XMLString.hpp     27 Aug 2002 19:24:43 -0000      1.3
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.3  2002/08/27 19:24:43  peiyongz
  + * Bug#12087: patch from Thomas Ford ([EMAIL PROTECTED])
  + *
    * Revision 1.2  2002/02/20 18:17:02  tng
    * [Bug 5977] Warnings on generating apiDocs.
    *
  @@ -1034,7 +1037,7 @@
         */
       static int patternMatch
       (
  -                XMLCh* const    toSearch
  +          const XMLCh* const    toSearch
           , const XMLCh* const    pattern
       );
   
  
  
  
  1.7       +11 -10    xml-xerces/c/src/xercesc/util/XMLString.cpp
  
  Index: XMLString.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLString.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- XMLString.cpp     23 Aug 2002 20:55:10 -0000      1.6
  +++ XMLString.cpp     27 Aug 2002 19:24:43 -0000      1.7
  @@ -1173,28 +1173,28 @@
       return 0;
   }
   
  -int XMLString::patternMatch(        XMLCh* const    toSearch
  +int XMLString::patternMatch(  const XMLCh* const    toSearch
                               , const XMLCh* const    pattern)
   {
       if (!toSearch || !pattern )
           return -1;
   
  -    XMLCh* srcPtr = toSearch;
       const int patnLen = XMLString::stringLen(pattern);
  +     if ( !patnLen )
  +             return -1;
  +
  +    const XMLCh* srcPtr    = toSearch;
  +    const XMLCh* patnStart = toSearch;
       int  patnIndex = 0;
  -    bool patnMatch;
   
       while (*srcPtr)
       {
  -        patnMatch = (*srcPtr++ == pattern[patnIndex++]);
  -
  -        if (!patnMatch)
  +        if ( !(*srcPtr++ == pattern[patnIndex++]))
           {
               patnIndex = 0;
  -            patnMatch = (*srcPtr == pattern[patnIndex++]);
  +            srcPtr = ++patnStart;
           }
  -
  -        if (patnMatch)
  +        else
           {
               if (patnIndex == patnLen)
                   // full pattern match found
  @@ -1204,6 +1204,7 @@
   
       return -1;
   }
  +
   
   unsigned int XMLString::hashN(  const   XMLCh* const    tohash
                                   , const unsigned int    n
  
  
  

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

Reply via email to