Ticket #6945: patchfile.patch

File patchfile.patch, 953 bytes (added by Kaylyn Bogle <code@…>, 10 years ago)

fixes for aforementioned problem

  • operations.cpp

     
    644644
    645645  BOOL resize_file_api(const wchar_t* p, boost::uintmax_t size)
    646646  {
    647     HANDLE handle = CreateFileW(p, GENERIC_WRITE, 0, 0, OPEN_EXISTING,
    648                                 FILE_ATTRIBUTE_NORMAL, 0);
     647    handle_wrapper h(CreateFileW(p, GENERIC_WRITE, 0, 0, OPEN_EXISTING,
     648                                FILE_ATTRIBUTE_NORMAL, 0));
    649649    LARGE_INTEGER sz;
    650650    sz.QuadPart = size;
    651     return handle != INVALID_HANDLE_VALUE
    652       && ::SetFilePointerEx(handle, sz, 0, FILE_BEGIN)
    653       && ::SetEndOfFile(handle)
    654       && ::CloseHandle(handle);
     651    return h.handle != INVALID_HANDLE_VALUE
     652      && ::SetFilePointerEx(h.handle, sz, 0, FILE_BEGIN)
     653      && ::SetEndOfFile(h.handle);
    655654  }
    656655
    657656  //  Windows kernel32.dll functions that may or may not be present