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;
 }
 


Reply via email to