summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/execline/execlineb.c16
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)
{