From f19c9f23076bade5a5933c8084b8779e065ee42e Mon Sep 17 00:00:00 2001
From: moneromooo-monero <moneromooo-monero@users.noreply.github.com>
Date: Tue, 29 Oct 2019 17:43:09 +0000
Subject: util: allow newlines in string to be split

---
 src/common/util.cpp | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

(limited to 'src/common')

diff --git a/src/common/util.cpp b/src/common/util.cpp
index 57e747837..747235646 100644
--- a/src/common/util.cpp
+++ b/src/common/util.cpp
@@ -1239,7 +1239,7 @@ std::string get_nix_version_display_string()
     return get_string_prefix_by_width(s, 999999999).second;
   };
 
-  std::vector<std::pair<std::string, size_t>> split_string_by_width(const std::string &s, size_t columns)
+  std::vector<std::pair<std::string, size_t>> split_line_by_width(const std::string &s, size_t columns)
   {
     std::vector<std::string> words;
     std::vector<std::pair<std::string, size_t>> lines;
@@ -1279,4 +1279,17 @@ std::string get_nix_version_display_string()
     return lines;
   }
 
+  std::vector<std::pair<std::string, size_t>> split_string_by_width(const std::string &s, size_t columns)
+  {
+    std::vector<std::string> lines;
+    std::vector<std::pair<std::string, size_t>> all_lines;
+    boost::split(lines, s, boost::is_any_of("\n"), boost::token_compress_on);
+    for (const auto &e: lines)
+    {
+      std::vector<std::pair<std::string, size_t>> new_lines = split_line_by_width(e, columns);
+      for (auto &l: new_lines)
+        all_lines.push_back(std::move(l));
+    }
+    return all_lines;
+  }
 }
-- 
cgit v1.2.3