about summary refs log tree commit diff
path: root/third_party/git/compat/fopen.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/compat/fopen.c')
-rw-r--r--third_party/git/compat/fopen.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/third_party/git/compat/fopen.c b/third_party/git/compat/fopen.c
deleted file mode 100644
index 107b3e8182fd..000000000000
--- a/third_party/git/compat/fopen.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *  The order of the following two lines is important.
- *
- *  SUPPRESS_FOPEN_REDEFINITION is defined before including git-compat-util.h
- *  to avoid the redefinition of fopen within git-compat-util.h. This is
- *  necessary since fopen is a macro on some platforms which may be set
- *  based on compiler options. For example, on AIX fopen is set to fopen64
- *  when _LARGE_FILES is defined. The previous technique of merely undefining
- *  fopen after including git-compat-util.h is inadequate in this case.
- */
-#define SUPPRESS_FOPEN_REDEFINITION
-#include "../git-compat-util.h"
-
-FILE *git_fopen(const char *path, const char *mode)
-{
-	FILE *fp;
-	struct stat st;
-
-	if (mode[0] == 'w' || mode[0] == 'a')
-		return fopen(path, mode);
-
-	if (!(fp = fopen(path, mode)))
-		return NULL;
-
-	if (fstat(fileno(fp), &st)) {
-		fclose(fp);
-		return NULL;
-	}
-
-	if (S_ISDIR(st.st_mode)) {
-		fclose(fp);
-		errno = EISDIR;
-		return NULL;
-	}
-
-	return fp;
-}