Subject: Re: [PATCH] git-compat-util: Avoid strcasecmp() being inlined

From: Junio C Hamano <[email-masked]>
Date: Tue, 17 Sep 2013 14:46:46 -0700

Sebastian Schuberth <[email-masked]> writes:

> On Tue, Sep 17, 2013 at 6:17 PM, Junio C Hamano <[email-masked]> wrote:
>
>> Keeping the ugliness to deal with the platform issue (i.e. broken
>> string.h) in one place (e.g. compat/mingw) is far more preferrable
>> than having a similar ugliness in git-compat-util.h for people on
>> all other platforms to see, no?
>
> I don't think people on other platforms seeing the ugliness is really
> an issue. After all, the file is called git-*compat*-util.h;

Well, judging from the way Linus reacted to the patch, I'd have to
disagree.  After all, that argument leads to the position that
nothing is needed in compat/, no?

> Also, your solution does not really keep the ugliness in
> one place,...

One ugliness (lack of sane strcasecmp definition whose address can
be taken) specific to mingw is worked around in compat/mingw.h, and
another ugliness that some people may use compilers without include_next
may need help from another configuration in the Makefile to tell it
where the platform string.h resides.  I am not sure why you see it
as a problem.

> I do insist to avoid GCC-ism in C files,...

To that I tend to agree.  Unconditionally killing inlining for any
mingw compilation in compat/mingw.h may be the simplest (albeit it
may be less than optimal) solution.