Re: [PATCH] Makefile: update the default build options for AIX
From: Brandon Casey <hidden>
Date: 2016-06-15 22:44:34
Mike Ralphson wrote:
2008/5/7 Brandon Casey [off-list ref]:quoted
Johannes Sixt wrote: > The #define fopen in git-compat-util.h essentially defeats the effect of > _LARGE_FILES as far as fopen() calls are concerned: If > FREAD_READS_DIRECTORIES is not defined, fopen() would be redirected to > fopen64(), but when it is defined, it is redirected to git_fopen(), which > in turn uses fopen() instead of fopen64() (due to the #undef in > compat/fopen.c). > How about something like this? diff --git a/compat/fopen.c b/compat/fopen.c index ccb9e89..70b0d4d 100644 --- a/compat/fopen.c +++ b/compat/fopen.c @@ -1,5 +1,5 @@ +#undef FREAD_READS_DIRECTORIES #include "../git-compat-util.h" -#undef fopen FILE *git_fopen(const char *path, const char *mode) { FILE *fp; -brandonTa. I still get all the warnings with that, was that what you were trying to solve? The 64 bit specific tests in t5302 do still pass.
Ah, yes. You would still get the warnings for every other file that includes git-compat-util.h, except compat/fopen.c. I didn't think about all of those. :) In this case those are indeed harmless. And now the git provided git_fopen() will use the compiler selected fopen() which should avoid any of the gotchas that Hannes brought up. -brandon