dbertoni    2003/01/03 13:45:23

  Modified:    c/src/XPath FunctionSubstring.cpp FunctionSubstringAfter.cpp
                        FunctionSubstringBefore.cpp
  Log:
  Fixed unnecessary string creation.
  
  Revision  Changes    Path
  1.21      +1 -1      xml-xalan/c/src/XPath/FunctionSubstring.cpp
  
  Index: FunctionSubstring.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionSubstring.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- FunctionSubstring.cpp     21 Nov 2002 01:26:18 -0000      1.20
  +++ FunctionSubstring.cpp     3 Jan 2003 21:45:23 -0000       1.21
  @@ -180,7 +180,7 @@
   inline XObjectPtr
   createEmptyString(XPathExecutionContext&     executionContext)
   {
  -     return 
executionContext.getXObjectFactory().createString(theEmptyString);
  +     return 
executionContext.getXObjectFactory().createStringReference(theEmptyString);
   }
   
   
  
  
  
  1.15      +13 -2     xml-xalan/c/src/XPath/FunctionSubstringAfter.cpp
  
  Index: FunctionSubstringAfter.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionSubstringAfter.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- FunctionSubstringAfter.cpp        21 Nov 2002 01:26:18 -0000      1.14
  +++ FunctionSubstringAfter.cpp        3 Jan 2003 21:45:23 -0000       1.15
  @@ -78,6 +78,17 @@
   
   
   
  +static const XalanDOMString          theEmptyString;
  +
  +
  +inline XObjectPtr
  +createEmptyString(XPathExecutionContext&     executionContext)
  +{
  +     return 
executionContext.getXObjectFactory().createStringReference(theEmptyString);
  +}
  +
  +
  +
   XObjectPtr
   FunctionSubstringAfter::execute(
                        XPathExecutionContext&  executionContext,
  @@ -94,7 +105,7 @@
   
        if (theFirstStringLength == 0)
        {
  -             return 
executionContext.getXObjectFactory().createString(XalanDOMString());
  +             return createEmptyString(executionContext);
        }
        else
        {
  @@ -105,7 +116,7 @@
   
                if (theIndex == theFirstStringLength)
                {
  -                     return 
executionContext.getXObjectFactory().createString(XalanDOMString());
  +                     return createEmptyString(executionContext);
                }
                else
                {
  
  
  
  1.15      +14 -4     xml-xalan/c/src/XPath/FunctionSubstringBefore.cpp
  
  Index: FunctionSubstringBefore.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionSubstringBefore.cpp,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- FunctionSubstringBefore.cpp       21 Nov 2002 01:26:18 -0000      1.14
  +++ FunctionSubstringBefore.cpp       3 Jan 2003 21:45:23 -0000       1.15
  @@ -78,6 +78,17 @@
   
   
   
  +static const XalanDOMString          theEmptyString;
  +
  +
  +inline XObjectPtr
  +createEmptyString(XPathExecutionContext&     executionContext)
  +{
  +     return 
executionContext.getXObjectFactory().createStringReference(theEmptyString);
  +}
  +
  +
  +
   XObjectPtr
   FunctionSubstringBefore::execute(
                        XPathExecutionContext&  executionContext,
  @@ -94,7 +105,7 @@
   
        if (theFirstStringLength == 0)
        {
  -             return 
executionContext.getXObjectFactory().createString(XalanDOMString());
  +             return createEmptyString(executionContext);
        }
        else
        {
  @@ -105,7 +116,7 @@
   
                if (theIndex == theFirstStringLength)
                {
  -                     return 
executionContext.getXObjectFactory().createString(XalanDOMString());
  +                     return createEmptyString(executionContext);
                }
                else
                {
  @@ -113,8 +124,7 @@
   
                        XalanDOMString&         theString = theResult.get();
   
  -                     assign(
  -                                     theString,
  +                     theString.assign(
                                        toCharArray(theFirstString),
                                        theIndex);
   
  
  
  

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

Reply via email to