dbertoni    02/05/05 22:27:00

  Modified:    c/src/XPath XalanQName.hpp XalanQNameByValue.cpp
                        XObjectResultTreeFragProxyText.cpp
                        XPathProcessorImpl.cpp
  Log:
  More efficient string processing.
  
  Revision  Changes    Path
  1.4       +1 -1      xml-xalan/c/src/XPath/XalanQName.hpp
  
  Index: XalanQName.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XalanQName.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XalanQName.hpp    2 Apr 2002 06:11:31 -0000       1.3
  +++ XalanQName.hpp    6 May 2002 05:26:59 -0000       1.4
  @@ -170,7 +170,7 @@
         * @return true if namespace and local part are both empty
         */
        bool
  -     equals(const XalanQName&                theRHS) const
  +     equals(const XalanQName&        theRHS) const
        {
                // Note that we do not use our member variables here.  See
                // class QNameReference for details...
  
  
  
  1.6       +4 -4      xml-xalan/c/src/XPath/XalanQNameByValue.cpp
  
  Index: XalanQNameByValue.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XalanQNameByValue.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XalanQNameByValue.cpp     12 Mar 2002 05:39:27 -0000      1.5
  +++ XalanQNameByValue.cpp     6 May 2002 05:26:59 -0000       1.6
  @@ -222,7 +222,7 @@
        }
        else if(indexOfNSSep < length(qname))
        {
  -             const XalanDOMString            prefix = substring(qname, 0, 
indexOfNSSep);
  +             const XalanDOMString    prefix(qname, indexOfNSSep);
   
                if(::equals(prefix, DOMServices::s_XMLNamespace))
                        return;
  @@ -239,7 +239,7 @@
                        m_namespace = *theNamespace;
                }
   
  -             m_localpart =  substring(qname, indexOfNSSep + 1);
  +             m_localpart.assign(qname + indexOfNSSep + 1);
        }
        else
        {
  @@ -275,7 +275,7 @@
        }
        else
        {
  -             const XalanDOMString    prefix = substring(qname, 0, indexOfNSSep);
  +             const XalanDOMString    prefix(qname, 0, indexOfNSSep);
   
                if(::equals(prefix, DOMServices::s_XMLString))
                {
  @@ -314,6 +314,6 @@
                                locator);
                }
   
  -             m_localpart = substring(qname, indexOfNSSep + 1);
  +             m_localpart.assign(qname, indexOfNSSep + 1, theLength - (indexOfNSSep 
+ 1));
        }
   }
  
  
  
  1.3       +1 -1      xml-xalan/c/src/XPath/XObjectResultTreeFragProxyText.cpp
  
  Index: XObjectResultTreeFragProxyText.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObjectResultTreeFragProxyText.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XObjectResultTreeFragProxyText.cpp        23 Feb 2002 03:26:18 -0000      1.2
  +++ XObjectResultTreeFragProxyText.cpp        6 May 2002 05:26:59 -0000       1.3
  @@ -346,7 +346,7 @@
                        unsigned int    offset,
                        unsigned int    count) const
   {
  -     return substring(m_value.str(), offset, count);
  +     return m_value.str().substr(offset, count);
   }
   
   
  
  
  
  1.54      +41 -17    xml-xalan/c/src/XPath/XPathProcessorImpl.cpp
  
  Index: XPathProcessorImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathProcessorImpl.cpp,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- XPathProcessorImpl.cpp    11 Apr 2002 05:53:43 -0000      1.53
  +++ XPathProcessorImpl.cpp    6 May 2002 05:26:59 -0000       1.54
  @@ -197,7 +197,7 @@
        {
                initMatchPattern(
                        pathObj,
  -                     substring(expression, 2),
  +                     XalanDOMString(expression, 2, expression.length() - 2),
                        prefixResolver,
                        locator);
        }
  @@ -237,7 +237,8 @@
        // counted inside the m_patternMap.
        int nesting = 0;
   
  -     // char[] chars = pat.toCharArray();
  +     XalanDOMString  theToken;
  +
        for(int i = 0; i < nChars; i++)
        {
                XalanDOMChar    c = charAt(pat, i);
  @@ -258,7 +259,9 @@
                                        }
                                        else
                                        {
  -                                             addToTokenQueue(substring(pat, 
startSubstring, i));
  +                                             substring(pat, theToken, 
startSubstring, i);
  +
  +                                             addToTokenQueue(theToken);
                                        }
                                }
   
  @@ -268,7 +271,10 @@
   
                                if(c == XalanUnicode::charQuoteMark)
                                {
  -                                     addToTokenQueue(substring(pat, startSubstring, 
i + 1));
  +                                     substring(pat, theToken, startSubstring, i + 
1);
  +
  +                                     addToTokenQueue(theToken);
  +
                                        startSubstring = -1;
                                }
                                else
  @@ -291,7 +297,9 @@
                                        }
                                        else
                                        {
  -                                             addToTokenQueue(substring(pat, 
startSubstring, i));
  +                                             substring(pat, theToken, 
startSubstring, i);
  +
  +                                             addToTokenQueue(theToken);
                                        }
                                }
   
  @@ -301,7 +309,10 @@
   
                                if(c == XalanUnicode::charApostrophe)
                                {
  -                                     addToTokenQueue(substring(pat, startSubstring, 
i + 1));
  +                                     substring(pat, theToken, startSubstring, i + 
1);
  +
  +                                     addToTokenQueue(theToken);
  +
                                        startSubstring = -1;
                                }
                                else
  @@ -327,7 +338,9 @@
                                        }
                                        else
                                        {
  -                                             addToTokenQueue(substring(pat, 
startSubstring, i));
  +                                             substring(pat, theToken, 
startSubstring, i);
  +
  +                                             addToTokenQueue(theToken);
                                        }
   
                                        startSubstring = -1;
  @@ -379,7 +392,9 @@
                                        }
                                        else
                                        {
  -                                             addToTokenQueue(substring(pat, 
startSubstring, i));
  +                                             substring(pat, theToken, 
startSubstring, i);
  +
  +                                             addToTokenQueue(theToken);
                                        }
   
                                        startSubstring = -1;
  @@ -416,7 +431,9 @@
                                        nesting++;
                                }
   
  -                             addToTokenQueue(substring(pat, i, i + 1));
  +                             substring(pat, theToken, i, i + 1);
  +
  +                             addToTokenQueue(theToken);
                        }               
                        break;
   
  @@ -428,7 +445,9 @@
                                        {
                                                if (startSubstring < i - 1)
                                                {
  -                                                     addToTokenQueue(substring(pat, 
startSubstring, i - 1));
  +                                                     substring(pat, theToken, 
startSubstring, i - 1);
  +
  +                                                     addToTokenQueue(theToken);
                                                }
                                        }
   
  @@ -436,7 +455,9 @@
                                        startSubstring = -1;
                                        posOfNSSep = -1;
   
  -                                     addToTokenQueue(substring(pat, i - 1, i + 1));
  +                                     substring(pat, theToken, i - 1, i + 1);
  +
  +                                     addToTokenQueue(theToken);
                                        break;
                                }
                                else
  @@ -484,7 +505,9 @@
                                                        }
                                                }
   
  -                                             addToTokenQueue(substring(pat, 
startSubstring, i + 1));
  +                                             substring(pat, theToken, 
startSubstring, i + 1);
  +
  +                                             addToTokenQueue(theToken);
   
                                                startSubstring = -1;
                                        }
  @@ -503,7 +526,9 @@
                }
                else
                {
  -                     addToTokenQueue(substring(pat, startSubstring, nChars));
  +                     substring(pat, theToken, startSubstring, nChars);
  +
  +                     addToTokenQueue(theToken);
                }
        }
   
  @@ -634,8 +659,7 @@
   {
        assert(m_prefixResolver != 0);
   
  -     const XalanDOMString                    prefix =
  -                             substring(pat, startSubstring, posOfNSSep);
  +     const XalanDOMString    prefix(pat, startSubstring, posOfNSSep - 
startSubstring);
   
        if (XalanQName::isValidNCName(prefix) == false)
        {
  @@ -672,7 +696,7 @@
                // here...
                if(posOfNSSep + 1 < posOfScan)
                {
  -                     const XalanDOMString    s = substring(pat, posOfNSSep + 1, 
posOfScan);
  +                     const XalanDOMString    s(pat, posOfNSSep + 1, posOfScan - 
(posOfNSSep + 1));
   
                        assert(length(s) > 0);
   
  @@ -2222,7 +2246,7 @@
   
        if(isCurrentLiteral() == true)
        {
  -             const XalanDOMString    theArgument = substring(m_token, 1, 
length(m_token) - 1);
  +             const XalanDOMString    theArgument(m_token, 1, length(m_token) - 2);
   
                m_expression->pushArgumentOnOpCodeMap(theArgument);
   
  
  
  

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

Reply via email to