Brandon Casey <casey@xxxxxxxxxxxxxxx> writes: > Mike Ralphson wrote: >> 2008/5/7 Brandon Casey <casey@xxxxxxxxxxxxxxx>: >>> 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; >>> >>> >>> -brandon >>> >> >> Ta. 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. In any case, that #undef then #include dance needs a big comment on why it has to be so. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html