# # # patch "ChangeLog" # from [547deacf9f6f8f766248e88ab668d67188671dff] # to [3383b77e1cf39b1bbf9a8dd58c7ca73ab2cebd8b] # # patch "win32/fs.cc" # from [89abf9434fa2593686f9b4ea42d9bbfe649fa592] # to [ff7c48b0e00a6f458db9dcdb83dfb8ed7f77a900] # ============================================================ --- ChangeLog 547deacf9f6f8f766248e88ab668d67188671dff +++ ChangeLog 3383b77e1cf39b1bbf9a8dd58c7ca73ab2cebd8b @@ -1,5 +1,8 @@ 2006-05-24 Matthew Gregan
+ * win32/fs.cc: Add win32_strerror() and use it in + rename_clobberingly() rather than displaying a raw error number to + the user. * netxx/osutil.{cxx,h}: Add OS-specific strerror function. This continues to call strerror() on POSIX, and tries using FormatMessage() and a built-in error message table on Win32. ============================================================ --- win32/fs.cc 89abf9434fa2593686f9b4ea42d9bbfe649fa592 +++ win32/fs.cc ff7c48b0e00a6f458db9dcdb83dfb8ed7f77a900 @@ -18,6 +18,22 @@ #include "platform.hh" std::string +win32_strerror(DWORD errnum) +{ + LPTSTR tstr; + + if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM, + 0, errnum, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + reinterpret_cast