# # # patch "ChangeLog" # from [05f119e992054b90f33144ef2d6e784914da5f7c] # to [81769051b541f842f66bc62dbb77de2e8482ac20] # # patch "netxx_pipe.cc" # from [1b00e7723f0e3513e33d0e2ad2fc24bd11aa8d5b] # to [bf56e7d54b7cd63656f6ec741a848d4df3e86bf8] # # patch "visualc/config.h" # from [c167d67aac4adf6d4e043a0c0e0b5d3dff1d1df1] # to [30d0419fd3ae17ca61944014ba657e5439d4ea1e] # # patch "win32/fs.cc" # from [ffd4af6af94f8c15f969de316f96b15cb9dad979] # to [974c8e8ba333902ed1b4ce95f3a2a4e1089efb92] # ============================================================ --- ChangeLog 05f119e992054b90f33144ef2d6e784914da5f7c +++ ChangeLog 81769051b541f842f66bc62dbb77de2e8482ac20 @@ -1,8 +1,15 @@ 2006-05-28 Matthew Gregan + * visualc/config.h: Fix build: add typedef needed by recent + os_strerror changes. + * netxx_pipe.cc (Netxx::PipeCompatibleProbe::add): Compile fix for + Win32. + * win32/fs.cc (rename_clobberingly_impl): Fix crash with + VC8--calling convention for MoveFileEx was not correct (we + defaulted to cdecl, should have been using stdcall). + * win32/monotone.iss: First pass at rewriting InnoSetup file for modern versions of IS. - * win32/modpath.iss: Add Jared Breland's GPL-licensed IS script for portable %PATH% modification. ============================================================ --- netxx_pipe.cc 1b00e7723f0e3513e33d0e2ad2fc24bd11aa8d5b +++ netxx_pipe.cc bf56e7d54b7cd63656f6ec741a848d4df3e86bf8 @@ -487,7 +487,7 @@ void Netxx::PipeCompatibleProbe::add(const StreamServer &ss, ready_type rt) { - assert(!ip_pipe); + assert(!is_pipe); Probe::add(ss,rt); } #else // unix ============================================================ --- visualc/config.h c167d67aac4adf6d4e043a0c0e0b5d3dff1d1df1 +++ visualc/config.h 30d0419fd3ae17ca61944014ba657e5439d4ea1e @@ -9,6 +9,7 @@ #ifdef _MSC_VER typedef unsigned long pid_t; +typedef unsigned int os_err_t; // #define HAVE_EXTERN_TEMPLATE #define LOCALEDIR "" #endif ============================================================ --- win32/fs.cc ffd4af6af94f8c15f969de316f96b15cb9dad979 +++ win32/fs.cc 974c8e8ba333902ed1b4ce95f3a2a4e1089efb92 @@ -141,15 +141,15 @@ { // MoveFileEx is only available on NT-based systems. We will revert to a // more compatible DeleteFile/MoveFile pair as a compatibility fall-back. - typedef BOOL (*MoveFileExFun)(LPCTSTR, LPCTSTR, DWORD); - static MoveFileExFun MoveFileEx = 0; + typedef BOOL (WINAPI *MoveFileExFun)(LPCTSTR, LPCTSTR, DWORD); + static MoveFileExFun fnMoveFileEx = 0; static bool MoveFileExAvailable = false; - if (MoveFileEx == 0) { + if (fnMoveFileEx == 0) { HMODULE hModule = LoadLibrary("kernel32"); if (hModule) - MoveFileEx = reinterpret_cast + fnMoveFileEx = reinterpret_cast (GetProcAddress(hModule, "MoveFileExA")); - if (MoveFileEx) { + if (fnMoveFileEx) { L(FL("using MoveFileEx for renames")); MoveFileExAvailable = true; } else @@ -157,7 +157,7 @@ } if (MoveFileExAvailable) { - if (MoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING)) + if (fnMoveFileEx(from, to, MOVEFILE_REPLACE_EXISTING)) return true; else if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED) { MoveFileExAvailable = false;