Re: [PATCH 2/8] gettext: don't poison if GIT_GETTEXT_POISON is set but empty
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Oct 22, 2018, 20:38 UTC
- Message-ID
- <87a7n5d8dv.fsf@evledraar.gmail.com>
- In-Reply-To
- <20181022202241.18629-3-szeder.dev@gmail.com>
On Mon, Oct 22 2018, SZEDER Gábor wrote:
Show 44 quoted lines
> This allows us to run test with non-GETTEXT POISON-ed behavior even in
> a GETTEXT POISON build by running:
>
> GIT_GETTEXT_POISON= ./t1234-foo.sh
>
> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
> ---
> Makefile | 2 +-
> gettext.c | 9 +++++++--
> 2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index ad880d1fc5..7a165445cd 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -365,7 +365,7 @@ all::
> # Define GETTEXT_POISON if you are debugging the choice of strings marked
> # for translation. In a GETTEXT_POISON build, you can turn all strings marked
> # for translation into gibberish by setting the GIT_GETTEXT_POISON variable
> -# (to any value) in your environment.
> +# to a non-empty value in your environment.
> #
> # Define JSMIN to point to JavaScript minifier that functions as
> # a filter to have gitweb.js minified.
> diff --git a/gettext.c b/gettext.c
> index 7272771c8e..a9509a5df3 100644
> --- a/gettext.c
> +++ b/gettext.c
> @@ -50,8 +50,13 @@ const char *get_preferred_languages(void)
> int use_gettext_poison(void)
> {
> static int poison_requested = -1;
> - if (poison_requested == -1)
> - poison_requested = getenv("GIT_GETTEXT_POISON") ? 1 : 0;
> + if (poison_requested == -1) {
> + const char *v = getenv("GIT_GETTEXT_POISON");
> + if (v && *v)
> + poison_requested = 1;
> + else
> + poison_requested = 0;
> + }
> return poison_requested;
> }
> #endifFixing this is good. But when the initial support for conditional runs was added in 309552295a ("i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set", 2011-02-22) we didn't have the convention of using git_env_bool() for these, which a few recent follow-up patches have also done.
So let's just use git_env_bool() here. It's less code, and consistent with the rest. See 4c2db93807 ("read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean", 2018-04-14). Also makes sense to document this in the "Running tests with special setups" setup that patch added.