Thread (8 messages) flat view 8 messages, 5 authors, 2016-06-15

Re: [PATCH] Makefile: update the default build options for AIX

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:34

Possibly related (same subject, not in this thread)

Brandon Casey [off-list ref] writes:
Mike Ralphson wrote:
quoted
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;


 -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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help