From 7c3f637680ac0cdb6cec5e75ba4a9b188de5017b Mon Sep 17 00:00:00 2001
From: Stephen Kelly <steveire@gmail.com>
Date: Sat, 24 Jan 2015 18:07:37 +0100
Subject: Convert loop into two algorithms.

---
 Source/cmLocalUnixMakefileGenerator3.cxx | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 359141a..a08c159 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -2299,16 +2299,12 @@ cmLocalUnixMakefileGenerator3::ConvertToQuotedOutputPath(const char* p,
       {
       // Now add the rest of the components separated by the proper slash
       // direction for this platform.
-      const char* sep = "";
-      for(unsigned int i=1; i < components.size() - 1; ++i)
-        {
-        if(!components[i].empty())
-          {
-          result += sep;
-          result += components[i];
-          sep = slash;
-          }
-        }
+      std::vector<std::string>::const_iterator compEnd
+          = std::remove(components.begin() + 1, components.end() - 1,
+                          std::string());
+      std::vector<std::string>::const_iterator compStart
+          = components.begin() + 1;
+      result += cmJoin(cmRange(compStart, compEnd), slash);
       // Only the last component can be empty to avoid double slashes.
       result += slash;
       result += components.back();
-- 
cgit v0.12