+string latex_path_list(string const & p)
+{
+ if (p.empty())
+ return p;
+
+ // We may need a posix style path or a windows style path (depending
+ // on windows_style_tex_paths_), but we use always forward slashes,
+ // since this is standard for all tex engines.
+
+ if (!windows_style_tex_paths_) {
+ string pathlist;
+ for (size_t i = 0, k = 0; i != string::npos; k = i) {
+ i = p.find(';', i);
+ string path = subst(p.substr(k, i - k), '\\', '/');
+ if (FileName::isAbsolute(path)) {
+ string const drive = path.substr(0, 2);
+ string const cygprefix = cygdrive + "/"
+ + drive.substr(0, 1);
+ path = subst(path, drive, cygprefix);
+ }
+ pathlist += path;
+ if (i != string::npos) {
+ pathlist += ':';
+ ++i;
+ }
+ }
+ return pathlist;
+ }
+ return subst(p, '\\', '/');
+}
+
+