2008/5/7 Junio C Hamano <gitster@xxxxxxxxx>: > > 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. > Indeed. Please add ascii-art diagrams and don't use long words. I may then have a chance of understanding how this works, and how I should have spotted 5 potentially non-harmless warnings among 400 noise ones, when all I did was get the testsuite from non-passing to passing! 8-) In reality, thanks to all for pitching in. Mike -- 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