diff --git a/src/rime/dict/mapped_file.cc b/src/rime/dict/mapped_file.cc index 98539d8e10..ba785c0209 100644 --- a/src/rime/dict/mapped_file.cc +++ b/src/rime/dict/mapped_file.cc @@ -12,31 +12,6 @@ #include #include -#ifdef BOOST_RESIZE_FILE - -#define RESIZE_FILE boost::filesystem::resize_file - -#else - -#ifdef _WIN32 -#include -#define RESIZE_FILE(P, SZ) (resize_file_api(P, SZ) != 0) -static BOOL resize_file_api(const char* p, boost::uintmax_t size) { - HANDLE handle = CreateFileA(p, GENERIC_WRITE, 0, 0, OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, 0); - LARGE_INTEGER sz; - sz.QuadPart = size; - return handle != INVALID_HANDLE_VALUE && - ::SetFilePointerEx(handle, sz, 0, FILE_BEGIN) && - ::SetEndOfFile(handle) && ::CloseHandle(handle); -} -#else -#include -#define RESIZE_FILE(P, SZ) (::truncate(P, SZ) == 0) -#endif // _WIN32 - -#endif // BOOST_RESIZE_FILE - namespace rime { class MappedFileImpl { @@ -155,7 +130,7 @@ bool MappedFile::Resize(size_t capacity) { if (IsOpen()) Close(); try { - RESIZE_FILE(file_name_.c_str(), capacity); + boost::filesystem::resize_file(file_name_.c_str(), capacity); } catch (...) { return false; }