diff --git a/src/goto-instrument/unwindset.cpp b/src/goto-instrument/unwindset.cpp index 5865494a6ed..9a832ebe7e4 100644 --- a/src/goto-instrument/unwindset.cpp +++ b/src/goto-instrument/unwindset.cpp @@ -23,8 +23,8 @@ void unwindsett::parse_unwind(const std::string &unwind) void unwindsett::parse_unwindset(const std::string &unwindset) { - std::vector unwindset_loops; - split_string(unwindset, ',', unwindset_loops, true, true); + std::vector unwindset_loops = + split_string(unwindset, ',', true, true); for(auto &val : unwindset_loops) { diff --git a/src/util/config.cpp b/src/util/config.cpp index 9bea9ec7cd2..abf10afae0e 100644 --- a/src/util/config.cpp +++ b/src/util/config.cpp @@ -1301,8 +1301,8 @@ void configt::set_classpath(const std::string &cp) const char cp_separator = ':'; #endif - std::vector class_path; - split_string(cp, cp_separator, class_path); + std::vector class_path = + split_string(cp, cp_separator); java.classpath.insert( java.classpath.end(), class_path.begin(), class_path.end()); } diff --git a/src/util/string_utils.cpp b/src/util/string_utils.cpp index 996039e0409..7ba55a73fb5 100644 --- a/src/util/string_utils.cpp +++ b/src/util/string_utils.cpp @@ -116,10 +116,14 @@ void split_string( right=result[1]; } -std::vector split_string(const std::string &s, char delim) +std::vector split_string( + const std::string &s, + char delim, + bool strip, + bool remove_empty) { std::vector result; - split_string(s, delim, result); + split_string(s, delim, result, strip, remove_empty); return result; } diff --git a/src/util/string_utils.h b/src/util/string_utils.h index 17936ede3de..803a4ab4d0b 100644 --- a/src/util/string_utils.h +++ b/src/util/string_utils.h @@ -30,7 +30,11 @@ void split_string( std::string &right, bool strip=false); -std::vector split_string(const std::string &s, char delim); +std::vector split_string( + const std::string &s, + char delim, + bool strip = false, + bool remove_empty = false); std::string trim_from_last_delimiter( const std::string &s, diff --git a/src/util/unwrap_nested_exception.cpp b/src/util/unwrap_nested_exception.cpp index 0689391466b..7f54b313a19 100644 --- a/src/util/unwrap_nested_exception.cpp +++ b/src/util/unwrap_nested_exception.cpp @@ -24,8 +24,8 @@ Author: Diffblue Ltd. std::string unwrap_exception(const std::exception &e, int level) { const std::string msg = e.what(); - std::vector lines; - split_string(msg, '\n', lines, false, true); + std::vector lines = + split_string(msg, '\n', false, true); std::ostringstream message_stream; message_stream << std::string(level, ' ') << "exception: "; join_strings( diff --git a/unit/util/string_utils/split_string.cpp b/unit/util/string_utils/split_string.cpp index d98d3574a6c..f47b411e8c6 100644 --- a/unit/util/string_utils/split_string.cpp +++ b/unit/util/string_utils/split_string.cpp @@ -30,8 +30,8 @@ void run_on_all_variants( { WHEN("Not stripping, not removing empty") { - std::vector result; - split_string(string, delimiter, result, false, false); + std::vector result = + split_string(string, delimiter, false, false); THEN("Should get expected vector") { @@ -44,8 +44,8 @@ void run_on_all_variants( } WHEN("Not stripping, removing empty") { - std::vector result; - split_string(string, delimiter, result, false, true); + std::vector result = + split_string(string, delimiter, false, true); THEN("Should get expected vector") { @@ -58,8 +58,8 @@ void run_on_all_variants( } WHEN("Stripping, not removing empty") { - std::vector result; - split_string(string, delimiter, result, true, false); + std::vector result = + split_string(string, delimiter, true, false); THEN("Should get expected vector") { @@ -72,8 +72,8 @@ void run_on_all_variants( } WHEN("Stripping and removing empty") { - std::vector result; - split_string(string, delimiter, result, true, true); + std::vector result = + split_string(string, delimiter, true, true); THEN("Should get expected vector") { @@ -141,8 +141,8 @@ SCENARIO("split_string", "[core][utils][string_utils][split_string]") WHEN("Not stripping, not removing empty") { - std::vector result; - split_string(string, delimiter, result, false, false); + std::vector result = + split_string(string, delimiter, false, false); THEN("Should get expected vector") { @@ -154,8 +154,8 @@ SCENARIO("split_string", "[core][utils][string_utils][split_string]") } WHEN("Not stripping, removing empty") { - std::vector result; - split_string(string, delimiter, result, false, true); + std::vector result = + split_string(string, delimiter, false, true); THEN("Should get expected vector") {