You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ts...@apache.org on 2014/01/19 18:24:52 UTC

svn commit: r1559531 - /incubator/log4cxx/trunk/src/main/cpp/stringhelper.cpp

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