Author: tschoening
Date: Sun Jan 19 17:24:52 2014
New Revision: 1559531
URL: http://svn.apache.org/r1559531
Log:
Synced the behavior of startsWith and endsWith, because some old compilers like
Borland C++ Builder 5 could throw out_of_range exceptions if prefix was larger
than the source string and we can short circuit the comparison in that case
anyways.
Modified:
incubator/log4cxx/trunk/src/main/cpp/stringhelper.cpp
Modified: incubator/log4cxx/trunk/src/main/cpp/stringhelper.cpp
URL:
http://svn.apache.org/viewvc/incubator/log4cxx/trunk/src/main/cpp/stringhelper.cpp?rev=1559531&r1=1559530&r2=1559531&view=diff
==============================================================================
--- incubator/log4cxx/trunk/src/main/cpp/stringhelper.cpp (original)
+++ incubator/log4cxx/trunk/src/main/cpp/stringhelper.cpp Sun Jan 19 17:24:52
2014
@@ -84,6 +84,11 @@ LogString StringHelper::trim(const LogSt
bool StringHelper::startsWith(const LogString& s, const LogString& prefix)
{
+ if (s.length() < prefix.length())
+ {
+ return false;
+ }
+
return s.compare(0, prefix.length(), prefix) == 0;
}