From: Sage Weil Date: Fri, 1 Mar 2019 05:41:59 +0000 (-0600) Subject: common/str_map: better trim() impl using boost X-Git-Tag: v14.1.1~74^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6154874aa9ae6dd66a2a0decb289f2a718f65048;p=ceph.git common/str_map: better trim() impl using boost Thanks Kefu! Signed-off-by: Sage Weil --- diff --git a/src/common/str_map.cc b/src/common/str_map.cc index b1f2b78ee90b..947ad21a4b2d 100644 --- a/src/common/str_map.cc +++ b/src/common/str_map.cc @@ -17,6 +17,8 @@ #include "include/str_map.h" #include "include/str_list.h" +#include + #include "json_spirit/json_spirit.h" using namespace std; @@ -56,22 +58,13 @@ int get_json_str_map( } return 0; } + string trim(const string& str) { - if (str.empty()) { - return str; - } - size_t start = 0; - size_t end = str.size() - 1; - while (start <= end && isspace(str[start]) != 0) { - ++start; - } - while (start <= end && isspace(str[end]) != 0) { - --end; - } - if (start <= end) { - return str.substr(start, end - start + 1); - } - return string(); + return boost::algorithm::trim_copy_if( + str, + [](unsigned char c) { + return std::isspace(c); + }); } int get_str_map(