#define GIT__WIN32_NO_HIDE_FILEOPS #include "fileops.h" #include int git__unlink(const char *path) { chmod(path, 0666); return unlink(path); } int git__mkstemp(char *template) { char *file = mktemp(template); if (file == NULL) return -1; return open(file, O_RDWR | O_CREAT | O_BINARY, 0600); } int git__fsync(int fd) { HANDLE fh = (HANDLE)_get_osfhandle(fd); if (fh == INVALID_HANDLE_VALUE) { errno = EBADF; return -1; } if (!FlushFileBuffers(fh)) { DWORD code = GetLastError(); if (code == ERROR_INVALID_HANDLE) errno = EINVAL; else errno = EIO; return -1; } return 0; }