diff options
-rw-r--r-- | src/execline/execlineb.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/execline/execlineb.c b/src/execline/execlineb.c index e93c3e9..7397be5 100644 --- a/src/execline/execlineb.c +++ b/src/execline/execlineb.c @@ -1,6 +1,8 @@ /* ISC license. */ #include <string.h> +#include <stdlib.h> + #include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/sgetopt.h> @@ -132,6 +134,20 @@ int main (int argc, char const *const *argv, char const *const *envp) if (!env_addmodif(&modif, "EXECLINE_STRICT", flagstrict ? fmt : 0)) goto errenv ; } + else + { + char const *x = getenv("EXECLINE_STRICT") ; + if (x) + { + unsigned int u ; + if (!uint0_scan(x, &u)) + { + strerr_warnw1x("invalid EXECLINE_STRICT value, unsetting it") ; + if (!env_addmodif(&modif, "EXECLINE_STRICT", 0)) goto errenv ; + } + else flagstrict = u ; + } + } if (flagpushenv == 3 || flagpushenv == 4) { |