aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/util.cc')
-rw-r--r--src/libutil/util.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 6f3bf7ae8..2e416edef 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -1260,6 +1260,19 @@ string replaceStrings(const std::string & s,
}
+std::string rewriteStrings(const std::string & _s, const StringMap & rewrites)
+{
+ auto s = _s;
+ for (auto & i : rewrites) {
+ if (i.first == i.second) continue;
+ size_t j = 0;
+ while ((j = s.find(i.first, j)) != string::npos)
+ s.replace(j, i.first.size(), i.second);
+ }
+ return s;
+}
+
+
string statusToString(int status)
{
if (!WIFEXITED(status) || WEXITSTATUS(status) != 0) {