* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
- * \author João Luis M. Assirati
- * \author Lars Gullik Bjønnes
+ * \author João Luis M. Assirati
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
{
char const separator(os::path_separator());
std::ostringstream ss;
- vector<string>::const_iterator it = env.begin();
+ vector<string>::const_iterator const begin = env.begin();
vector<string>::const_iterator const end = env.end();
+ vector<string>::const_iterator it = begin;
for (; it != end; ++it) {
- if (ss.tellp() > 0)
+ if (it != begin)
ss << separator;
+#if defined(__CYGWIN__) || defined(__CYGWIN32__)
+ // On cygwin, os::external_path returns either posix or
+ // pseudo-win style paths, but here we always need posix style.
+ // This fixes bug 2344.
+ ss << os::internal_path(*it);
+#else
ss << os::external_path(*it);
+#endif
}
setEnv(name, ss.str());
}