From: Ævar Arnfjörð Bjarmason Date: Sat, 05 Jun 2010 14:10:21 GMT Subject: Re: [PATCH/RFC v7 1/2] Add infrastructure for translating Git with gettext Message-ID: In-Reply-To: <20100605033849.GB2252@progeny.tock> On Sat, Jun 5, 2010 at 03:38, Jonathan Nieder wrote: > Ævar Arnfjörð Bjarmason wrote: >> On Sat, Jun 5, 2010 at 03:01, Jonathan Nieder wrote: > >>>  #ifdef NO_GETTEXT >>>  static inline void git_setup_gettext(void) {} >>>  #endif >>> >>> and >>> >>>  ifndef NO_GETTEXT >>>  LIB_OBJS += gettext.o >>>  endif >> >> Sure, but that would be putting code in a header file, which is >> usually taboo. It looks like there's some prior art on that though. >> Like strbuf.h. >> >> I don't care either way, what do you think? > > This is what ‘inline’ is for.  I think using it for stubs like this > is perfectly acceptable and improves readability. Great. I've fixed this in my local copy. Now I don't compile gettext.c when NO_GETTEXT is set, and it'll be defined as static inline in the header file. It'll become part of the next patch. Here's the diff: diff --git a/Makefile b/Makefile index 3040000..e21f7f0 100644 --- a/Makefile +++ b/Makefile @@ -578,7 +578,9 @@ LIB_OBJS += entry.o LIB_OBJS += environment.o LIB_OBJS += exec_cmd.o LIB_OBJS += fsck.o +ifndef NO_GETTEXT LIB_OBJS += gettext.o +endif LIB_OBJS += graph.o LIB_OBJS += grep.o LIB_OBJS += hash.o diff --git a/gettext.c b/gettext.c index 22cdcc1..4825799 100644 --- a/gettext.c +++ b/gettext.c @@ -1,11 +1,8 @@ -#ifdef NO_GETTEXT -void git_setup_gettext(void) {} -#else #include "exec_cmd.h" #include #include -void git_setup_gettext(void) { +inline void git_setup_gettext(void) { char *podir; char *envdir = getenv("GIT_TEXTDOMAINDIR"); @@ -22,4 +19,3 @@ void git_setup_gettext(void) { (void)setlocale(LC_CTYPE, ""); (void)textdomain("git"); } -#endif diff --git a/gettext.h b/gettext.h index a99da6a..8d44808 100644 --- a/gettext.h +++ b/gettext.h @@ -1,7 +1,11 @@ #ifndef GETTEXT_H #define GETTEXT_H -void git_setup_gettext(void); +#ifdef NO_GETTEXT +static inline void git_setup_gettext(void) {} +#else +inline void git_setup_gettext(void); +#endif #ifdef NO_GETTEXT #define _(s) (s)