#include "support/lyxlib.h"
-bool lyx::rename(char const * from, char const * to)
-{
- return ::rename(from, to) != -1;
-}
-
bool lyx::rename(string const & from, string const & to)
{
- return ::rename(from.c_str(), to.c_str()) != -1;
+#ifdef __EMX__
+ lyx::unlink(to.c_str());
+#endif
+ if (::rename(from.c_str(), to.c_str()) == -1)
+ if (lyx::copy(from, to)) {
+ lyx::unlink(from);
+ return true;
+ } else
+ return false;
+ return true;
}