diff options
Diffstat (limited to 'Python/frozenmain.c')
| -rw-r--r-- | Python/frozenmain.c | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/Python/frozenmain.c b/Python/frozenmain.c index 90d1623590..8bc136ae62 100644 --- a/Python/frozenmain.c +++ b/Python/frozenmain.c @@ -30,28 +30,43 @@ extern char *getenv();  extern int debugging;  extern int verbose; +extern int killprint;  main(argc, argv)  	int argc;  	char **argv;  {  	char *p; +	int n, inspect, sts;  	int n; +  	if ((p = getenv("PYTHONDEBUG")) && *p != '\0')  		debugging = 1;  	if ((p = getenv("PYTHONVERBOSE")) && *p != '\0')  		verbose = 1; -	initargs(&argc, &argv); /* Defined in config*.c */ +	if ((p = getenv("PYTHONINSPECT")) && *p != '\0') +		inspect = 1; +	if ((p = getenv("PYTHONKILLPRINT")) && *p != '\0') +		killprint = 1; + +	initargs(&argc, &argv);  	initall();  	setpythonargv(argc, argv); +  	n = init_frozen("__main__");  	if (n == 0)  		fatal("__main__ not frozen");  	if (n < 0) {  		print_error(); -		goaway(1); +		sts = 1;  	}  	else -		goaway(0); +		sts = 0; + +	if (inspect && isatty((int)fileno(stdin)) && +	    (filename != NULL || command != NULL)) +		sts = run(stdin, "<stdin>") != 0; + +	goaway(sts);  	/*NOTREACHED*/  } | 
