summaryrefslogtreecommitdiff
path: root/src/port/dirmod.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/port/dirmod.c')
-rw-r--r--src/port/dirmod.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/port/dirmod.c b/src/port/dirmod.c
index e22a41c77e1..8979f100803 100644
--- a/src/port/dirmod.c
+++ b/src/port/dirmod.c
@@ -353,55 +353,3 @@ pgwin32_is_junction(const char *path)
return ((attr & FILE_ATTRIBUTE_REPARSE_POINT) == FILE_ATTRIBUTE_REPARSE_POINT);
}
#endif /* defined(WIN32) && !defined(__CYGWIN__) */
-
-
-#if defined(WIN32) && !defined(__CYGWIN__)
-
-#undef stat
-
-/*
- * The stat() function in win32 is not guaranteed to update the st_size
- * field when run. So we define our own version that uses the Win32 API
- * to update this field.
- */
-int
-pgwin32_safestat(const char *path, struct stat *buf)
-{
- int r;
- WIN32_FILE_ATTRIBUTE_DATA attr;
-
- r = stat(path, buf);
- if (r < 0)
- {
- if (GetLastError() == ERROR_DELETE_PENDING)
- {
- /*
- * File has been deleted, but is not gone from the filesystem yet.
- * This can happen when some process with FILE_SHARE_DELETE has it
- * open and it will be fully removed once that handle is closed.
- * Meanwhile, we can't open it, so indicate that the file just
- * doesn't exist.
- */
- errno = ENOENT;
- return -1;
- }
-
- return r;
- }
-
- if (!GetFileAttributesEx(path, GetFileExInfoStandard, &attr))
- {
- _dosmaperr(GetLastError());
- return -1;
- }
-
- /*
- * XXX no support for large files here, but we don't do that in general on
- * Win32 yet.
- */
- buf->st_size = attr.nFileSizeLow;
-
- return 0;
-}
-
-#endif