From 09c15f206edac18bd2158c189c821b9ba85d3939 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 22 Mar 2023 16:06:18 +0000 Subject: New shared function, getenv_bool() This provides a standard way to get a boolean from an environment variable. It treats the variable as true iff its value begins with 'y' or 'Y', like most of the current implementations. The function takes a default value which it returns if the environment variable is undefined. This replaces the various ad-hoc tests of environment variable scattered around and mostly doesn't change their behaviour. The exceptions are TOWERS_2D in Towers and DEBUG_PUZZLES in the Windows front end. Both of those were treated as true if they were defined at all, but now follow the same rules as other boolean environment variables. --- puzzles.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'puzzles.h') diff --git a/puzzles.h b/puzzles.h index ae48b2e..36ba2a9 100644 --- a/puzzles.h +++ b/puzzles.h @@ -377,6 +377,8 @@ char *fgetline(FILE *fp); char *bin2hex(const unsigned char *in, int inlen); unsigned char *hex2bin(const char *in, int outlen); +bool getenv_bool(const char *name, bool dflt); + /* Mixes two colours in specified proportions. */ void colour_mix(const float src1[3], const float src2[3], float p, float dst[3]); -- cgit v1.1