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]