]> git.lyx.org Git - lyx.git/blobdiff - src/support/chdir.C
get rid of MSVC warning (signed/unsigned comparison)
[lyx.git] / src / support / chdir.C
index a3065fb26ab3c2653c1960a850eb27e61854b186..6ac268772c18610afc0ec2ee766bb61219f863eb 100644 (file)
 
 #include "support/lyxlib.h"
 
-#include <unistd.h>
+#include "support/filename.h"
 
-int lyx::support::chdir(std::string const & name)
+
+namespace lyx {
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifdef _WIN32
+# include <windows.h>
+#endif
+
+int support::chdir(FileName const & name)
 {
-#ifndef __EMX__
-       return ::chdir(name.c_str());
+#ifdef _WIN32
+       return SetCurrentDirectory(name.toFilesystemEncoding().c_str()) != 0 ? 0 : -1;
 #else
-       return ::_chdir2(name.c_str());
+       return ::chdir(name.toFilesystemEncoding().c_str());
 #endif
 }
+
+
+} // namespace lyx