peiyongz    2002/11/05 09:42:40

  Modified:    c/src/xercesc/util XMLString.hpp
  Log:
  equals( const char* const, const char* const)
  
  Revision  Changes    Path
  1.8       +37 -2     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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- XMLString.hpp     4 Nov 2002 15:22:05 -0000       1.7
  +++ XMLString.hpp     5 Nov 2002 17:42:39 -0000       1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2002/11/05 17:42:39  peiyongz
  + * equals( const char* const, const char* const)
  + *
    * Revision 1.7  2002/11/04 15:22:05  tng
    * C++ Namespace Support.
    *
  @@ -613,10 +616,16 @@
         */
       static bool equals
       (
  -        const   XMLCh* const    str1
  +          const XMLCh* const    str1
           , const XMLCh* const    str2
       );
   
  +    static bool equals
  +    (
  +          const char* const    str1
  +        , const char* const    str2
  +    );
  +
        /** Lexicographically compares <code>str1</code> and <code>str2</code>
          * regions and returns true if they are equal, otherwise false.
          *
  @@ -1460,11 +1469,37 @@
        return true;
   }
   
  -inline bool XMLString::equals(   const   XMLCh* const    str1
  +inline bool XMLString::equals(   const XMLCh* const    str1
                                  , const XMLCh* const    str2)
   {
       const XMLCh* psz1 = str1;
       const XMLCh* psz2 = str2;
  +
  +    if (psz1 == 0 || psz2 == 0) {
  +        if ((psz1 != 0 && *psz1) || (psz2 != 0 && *psz2))
  +            return false;
  +        else
  +            return true;
  +    }
  +
  +    while (*psz1 == *psz2)
  +    {
  +        // If either has ended, then they both ended, so equal
  +        if (!*psz1)
  +            return true;
  +
  +        // Move upwards for the next round
  +        psz1++;
  +        psz2++;
  +    }
  +    return false;
  +}
  +
  +inline bool XMLString::equals(   const char* const    str1
  +                               , const char* const    str2)
  +{
  +    const char* psz1 = str1;
  +    const char* psz2 = str2;
   
       if (psz1 == 0 || psz2 == 0) {
           if ((psz1 != 0 && *psz1) || (psz2 != 0 && *psz2))
  
  
  

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

Reply via email to