Windows uses ; as separator in $PATH
authorMikko Rasa <tdb@tdb.fi>
Mon, 6 Jan 2014 19:53:25 +0000 (21:53 +0200)
committerMikko Rasa <tdb@tdb.fi>
Mon, 6 Jan 2014 19:53:25 +0000 (21:53 +0200)
source/fs/dir.cpp

index 2ae5122e63768492f54274a7b7062e861445a094..0b6873277d4feb014d76df62afdde602d0679698 100644 (file)
@@ -17,6 +17,15 @@ namespace FS {
 namespace
 {
 
+enum
+{
+#ifdef WIN32
+       ITEMSEP = ';'
+#else
+       ITEMSEP = ':'
+#endif
+};
+
 /** Helper function to determine the location of the program's executable.
 Caches the last result to cut down filesystem access with repeated calls. */
 const Path &get_bin_dir(const string &argv0)
@@ -30,7 +39,7 @@ const Path &get_bin_dir(const string &argv0)
                if(argv0.find('/')==string::npos)
                {
                        const char *path = getenv("PATH");
-                       vector<string> dirs = split(path, ':');
+                       vector<string> dirs = split(path, ITEMSEP);
                        for(vector<string>::const_iterator i=dirs.begin(); i!=dirs.end(); ++i)
                                if(exists(Path(*i)/argv0))
                                {