diff --git a/aegisub/libaegisub/lagi_pre.h b/aegisub/libaegisub/lagi_pre.h index babfcfd33..638e7168e 100644 --- a/aegisub/libaegisub/lagi_pre.h +++ b/aegisub/libaegisub/lagi_pre.h @@ -10,7 +10,9 @@ #include // Windows C -#ifdef _MSC_VER +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN +#include #include #endif diff --git a/aegisub/libaegisub/windows/io.cpp b/aegisub/libaegisub/windows/io.cpp index 8a21a2546..8c697982c 100644 --- a/aegisub/libaegisub/windows/io.cpp +++ b/aegisub/libaegisub/windows/io.cpp @@ -60,7 +60,6 @@ Save::Save(const std::string& file): file_name(file) { // util::Rename will find it, and to let users know something went // wrong by leaving a 0 byte file. std::ofstream fp_touch(file.c_str()); - fp_touch.close(); } /// @todo This is a temp hack, proper implementation needs to come after @@ -75,9 +74,8 @@ Save::Save(const std::string& file): file_name(file) { Save::~Save() { const std::string tmp(file_name + "_tmp"); - util::Rename(tmp, file_name); delete fp; - fp = 0; // to avoid any silly errors. + util::Rename(tmp, file_name); } std::ofstream& Save::Get() { diff --git a/aegisub/libaegisub/windows/util.cpp b/aegisub/libaegisub/windows/util.cpp index 4358e7ff6..c20b1d78b 100644 --- a/aegisub/libaegisub/windows/util.cpp +++ b/aegisub/libaegisub/windows/util.cpp @@ -34,7 +34,7 @@ namespace agi { const std::string DirName(const std::string& path) { - if (path.find('/') == std::string::npos) { + if (path.find('/') == std::string::npos) { const std::string cwd("."); return cwd; } @@ -52,7 +52,7 @@ void Rename(const std::string& from, const std::string& to) { acs::CheckDirWrite(DirName(to)); } - rename(from.c_str(), to.c_str()); + MoveFileExA(from.c_str(), to.c_str(), MOVEFILE_REPLACE_EXISTING); } } // namespace io