dbertoni 00/11/20 11:58:24
Modified: c/src/XalanDOM XalanDOMString.cpp XalanDOMString.hpp
Log:
New functionality.
Revision Changes Path
1.3 +11 -2 xml-xalan/c/src/XalanDOM/XalanDOMString.cpp
Index: XalanDOMString.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanDOM/XalanDOMString.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- XalanDOMString.cpp 2000/11/03 19:30:30 1.2
+++ XalanDOMString.cpp 2000/11/20 19:58:24 1.3
@@ -637,11 +637,20 @@
XALAN_DOM_EXPORT_FUNCTION(const XalanDOMString)
-TranscodeFromLocalCodePage(const char* sourceString)
+TranscodeFromLocalCodePage(
+ const char* theSourceString,
+ unsigned int theSourceStringLength)
{
XalanDOMCharVectorType theResult;
- TranscodeFromLocalCodePage(sourceString, theResult, false);
+ if (theSourceStringLength == unsigned(-1))
+ {
+ TranscodeFromLocalCodePage(theSourceString, theResult, false);
+ }
+ else
+ {
+ TranscodeFromLocalCodePage(theSourceString,
theSourceStringLength, theResult, false);
+ }
const XalanDOMCharVectorType::size_type theSize =
theResult.size();
1.4 +69 -2 xml-xalan/c/src/XalanDOM/XalanDOMString.hpp
Index: XalanDOMString.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanDOM/XalanDOMString.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- XalanDOMString.hpp 2000/11/02 01:46:40 1.3
+++ XalanDOMString.hpp 2000/11/20 19:58:24 1.4
@@ -257,8 +257,14 @@
}
void
+ erase()
+ {
+ m_data.clear();
+ }
+
+ void
erase(
- size_type theStartPosition = 0,
+ size_type theStartPosition,
size_type theCount = size_type(npos))
{
const iterator i = getIteratorForPosition(theStartPosition);
@@ -343,6 +349,65 @@
}
XalanDOMString&
+ assign(const XalanDOMChar* theSource)
+ {
+ erase();
+
+ return append(theSource);
+ }
+
+ XalanDOMString&
+ assign(
+ const XalanDOMChar* theSource,
+ size_type theCount)
+ {
+ erase();
+
+ return append(theSource, theCount);
+ }
+
+ XalanDOMString&
+ assign(
+ const XalanDOMString& theSource,
+ size_type thePosition,
+ size_type theCount)
+ {
+ erase();
+
+ return append(theSource, thePosition, theCount);
+ }
+
+ XalanDOMString&
+ assign(const XalanDOMString& theSource)
+ {
+ m_data = theSource.m_data;
+
+ return *this;
+ }
+
+ XalanDOMString&
+ assign(
+ size_type theCount,
+ XalanDOMChar theChar)
+ {
+ erase();
+
+ return append(theCount, theChar);
+ }
+
+ XalanDOMString&
+ assign(
+ const_iterator theFirstPosition,
+ const_iterator theLastPosition)
+ {
+ erase();
+
+ insert(begin(), theFirstPosition, theLastPosition);
+
+ return *this;
+ }
+
+ XalanDOMString&
append(const XalanDOMString& theSource)
{
return append(theSource.c_str(), theSource.length());
@@ -834,7 +899,9 @@
* @return The transcoded string.
*/
XALAN_DOM_EXPORT_FUNCTION(const XalanDOMString)
-TranscodeFromLocalCodePage(const char* sourceString);
+TranscodeFromLocalCodePage(
+ const char* theSourceString,
+ unsigned int theSourceStringLength = -1);