]> git.lyx.org Git - lyx.git/blobdiff - src/support/chdir.C
* support/qstring_helpers.h: erase ucs4_to_qstring() method.
[lyx.git] / src / support / chdir.C
index a3065fb26ab3c2653c1960a850eb27e61854b186..e37d9cafbed4615bd0a208ca9f06c9d51243162c 100644 (file)
 
 #include "support/lyxlib.h"
 
-#include <unistd.h>
+#include "support/filename.h"
 
-int lyx::support::chdir(std::string const & name)
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifdef _WIN32
+# include <windows.h>
+#endif
+
+
+namespace lyx {
+
+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