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]