From 9cded0d286725c4ebb4d7af96d327ee83e1397a3 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Sun, 10 Jul 2011 18:16:09 +0200 Subject: [PATCH] Fix `maxlen' parameter for `starts_with' and `starts_with_case' --- src/common/strings/editing.cpp | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/common/strings/editing.cpp b/src/common/strings/editing.cpp index 83b772504..59aec5a8f 100644 --- a/src/common/strings/editing.cpp +++ b/src/common/strings/editing.cpp @@ -181,30 +181,14 @@ bool starts_with(const std::string &s, const char *start, int maxlen) { - int len, slen; - - slen = strlen(start); - if (maxlen == -1) - len = slen; - else - len = maxlen < slen ? maxlen : slen; - - return strncmp(s.c_str(), start, slen) == 0; + return strncmp(s.c_str(), start, -1 == maxlen ? strlen(start) : maxlen) == 0; } bool starts_with_case(const std::string &s, const char *start, int maxlen) { - int len, slen; - - slen = strlen(start); - if (maxlen == -1) - len = slen; - else - len = maxlen < slen ? maxlen : slen; - - return strncasecmp(s.c_str(), start, slen) == 0; + return strncasecmp(s.c_str(), start, -1 == maxlen ? strlen(start) : maxlen) == 0; } std::string