aboutsummaryrefslogtreecommitdiff
path: root/src/common/string_util.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-07-22 15:33:07 -0400
committerLioncash <mathew1800@gmail.com>2018-07-22 15:35:48 -0400
commitcd46b267f5715c0900b409d7bcb97f6bc9a43d9e (patch)
tree6c97e3a7e2727ebbbb84af10b16d1902ff0d283d /src/common/string_util.cpp
parentc994cdc5325ca4539efd0f277960a8083ae344b9 (diff)
string_util: Remove unnecessary std::string instance in TabsToSpaces()
We can just use the variant of std::string's replace() function that can replace an occurrence with N copies of the same character, eliminating the need to allocate a std::string containing a buffer of spaces.
Diffstat (limited to 'src/common/string_util.cpp')
-rw-r--r--src/common/string_util.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index f3ad3d68a4..2099eebb8b 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -168,15 +168,14 @@ void SplitString(const std::string& str, const char delim, std::vector<std::stri
output.pop_back();
}
-std::string TabsToSpaces(int tab_size, const std::string& in) {
- const std::string spaces(tab_size, ' ');
- std::string out(in);
-
+std::string TabsToSpaces(int tab_size, std::string in) {
size_t i = 0;
- while (out.npos != (i = out.find('\t')))
- out.replace(i, 1, spaces);
- return out;
+ while ((i = in.find('\t')) != std::string::npos) {
+ in.replace(i, 1, tab_size, ' ');
+ }
+
+ return in;
}
std::string ReplaceAll(std::string result, const std::string& src, const std::string& dest) {