You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2003/08/07 23:52:36 UTC
cvs commit: xml-xalan/c/src/xalanc/XalanDOM XalanDOMString.cpp XalanDOMString.hpp
dbertoni 2003/08/07 14:52:36
Modified: c/src/xalanc/XalanDOM XalanDOMString.cpp XalanDOMString.hpp
Log:
Protect against an empty vector in TranscodeFromLocalCodePage(). Function was previously inline, but is not any longer.
Revision Changes Path
1.2 +26 -0 xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp
Index: XalanDOMString.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XalanDOMString.cpp 29 Jun 2003 03:58:18 -0000 1.1
+++ XalanDOMString.cpp 7 Aug 2003 21:52:36 -0000 1.2
@@ -1215,4 +1215,30 @@
+XALAN_DOM_EXPORT_FUNCTION(const XalanDOMString)
+TranscodeFromLocalCodePage(const CharVectorType& theSourceString)
+{
+ if (theSourceString.empty() == true)
+ {
+ return XalanDOMString();
+ }
+ else
+ {
+ typedef XalanDOMString::size_type size_type;
+
+ const CharVectorType::size_type theSize = theSourceString.size();
+
+ if (theSourceString[theSize - 1] == CharVectorType::value_type(0))
+ {
+ return TranscodeFromLocalCodePage(&*theSourceString.begin(), size_type(theSize) - 1);
+ }
+ else
+ {
+ return TranscodeFromLocalCodePage(&*theSourceString.begin(), size_type(theSize));
+ }
+ }
+}
+
+
+
XALAN_CPP_NAMESPACE_END
1.2 +2 -16 xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.hpp
Index: XalanDOMString.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XalanDOM/XalanDOMString.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XalanDOMString.hpp 29 Jun 2003 03:58:18 -0000 1.1
+++ XalanDOMString.hpp 7 Aug 2003 21:52:36 -0000 1.2
@@ -1158,22 +1158,8 @@
* @param theSourceString source string
* @return The transcoded string.
*/
-inline const XalanDOMString
-TranscodeFromLocalCodePage(const CharVectorType& theSourceString)
-{
- typedef XalanDOMString::size_type size_type;
-
- const CharVectorType::size_type theSize = theSourceString.size();
-
- if (theSourceString[theSize - 1] == CharVectorType::value_type(0))
- {
- return TranscodeFromLocalCodePage(&*theSourceString.begin(), size_type(theSize) - 1);
- }
- else
- {
- return TranscodeFromLocalCodePage(&*theSourceString.begin(), size_type(theSize));
- }
-}
+XALAN_DOM_EXPORT_FUNCTION(const XalanDOMString)
+TranscodeFromLocalCodePage(const CharVectorType& theSourceString);
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org