summaryrefslogtreecommitdiff
path: root/src/fs
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2019-09-04 12:01:25 +0200
committerMax Kellermann <max@musicpd.org>2019-09-04 12:01:25 +0200
commit1bfede120aae0334a28ead8fa2733b8add7cb01d (patch)
treee7be99fb3b3c03a044f49944319572e4bfc0f1c2 /src/fs
parente96856032f7a7b8e94ce2db38a9830056db89dd2 (diff)
fs/Traits: call std::string::reserve() in BuildPathImpl()
Diffstat (limited to 'src/fs')
-rw-r--r--src/fs/Traits.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fs/Traits.cxx b/src/fs/Traits.cxx
index ec44e408f..0e4a6c3c3 100644
--- a/src/fs/Traits.cxx
+++ b/src/fs/Traits.cxx
@@ -35,7 +35,10 @@ BuildPathImpl(typename Traits::const_pointer_type a, size_t a_size,
if (b_size == 0)
return typename Traits::string(a, a_size);
- typename Traits::string result(a, a_size);
+ typename Traits::string result;
+ result.reserve(a_size + 1 + b_size);
+
+ result.append(a, a_size);
if (!Traits::IsSeparator(a[a_size - 1]))
result.push_back(Traits::SEPARATOR);