Mercurial > cpython-lru_cache-weakref
diff Python/pythonrun.c @ 20401:b74610c92d8b legacy-trunk
SF patch #467455 : Enhanced environment variables, by Toby Dickenson.
This patch changes to logic to:
if env.var. set and non-empty:
if env.var. is an integer:
set flag to that integer
if flag is zero: # [actually, <= 0 --GvR]
set flag to 1
Under this patch, anyone currently using
PYTHONVERBOSE=yes will get the same output as before.
PYTHONVERBNOSE=2 will generate more verbosity than
before.
The only unusual case that the following three are
still all equivalent:
PYTHONVERBOSE=yespleas
PYTHONVERBOSE=1
PYTHONVERBOSE=0
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 12 Oct 2001 22:17:56 +0000 |
| parents | c0a44829bcd5 |
| children | c1ecafd15560 |
line wrap: on
line diff
--- a/Python/pythonrun.c Fri Oct 12 22:08:39 2001 +0000 +++ b/Python/pythonrun.c Fri Oct 12 22:17:56 2001 +0000 @@ -87,6 +87,17 @@ */ +static int +add_flag(int flag, const char *envs) +{ + int env = atoi(envs); + if (flag < env) + flag = env; + if (flag < 1) + flag = 1; + return flag; +} + void Py_Initialize(void) { @@ -101,11 +112,11 @@ initialized = 1; if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0') - Py_DebugFlag = Py_DebugFlag ? Py_DebugFlag : 1; + Py_DebugFlag = add_flag(Py_DebugFlag, p); if ((p = Py_GETENV("PYTHONVERBOSE")) && *p != '\0') - Py_VerboseFlag = Py_VerboseFlag ? Py_VerboseFlag : 1; + Py_VerboseFlag = add_flag(Py_VerboseFlag, p); if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0') - Py_OptimizeFlag = Py_OptimizeFlag ? Py_OptimizeFlag : 1; + Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p); interp = PyInterpreterState_New(); if (interp == NULL)
