68 lines · 1.3 KB · C
RawDownload
 /* Python interpreter main program for frozen scripts */ #include "Python.h" #ifdef MS_WINDOWSextern void PyWinFreeze_ExeInit(void);extern void PyWinFreeze_ExeTerm(void);extern int PyInitFrozenExtensions(void);#endif /* Main program */ intPy_FrozenMain(int argc, char **argv){	char *p;	int n, sts;	int inspect = 0;	int unbuffered = 0; 	Py_FrozenFlag = 1; /* Suppress errors from getpath.c */ 	if ((p = Py_GETENV("PYTHONINSPECT")) && *p != '\0')		inspect = 1;	if ((p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0')		unbuffered = 1; 	if (unbuffered) {		setbuf(stdin, (char *)NULL);		setbuf(stdout, (char *)NULL);		setbuf(stderr, (char *)NULL);	} #ifdef MS_WINDOWS	PyInitFrozenExtensions();#endif /* MS_WINDOWS */	Py_SetProgramName(argv[0]);	Py_Initialize();#ifdef MS_WINDOWS	PyWinFreeze_ExeInit();#endif 	if (Py_VerboseFlag)		fprintf(stderr, "Python %s\n%s\n",			Py_GetVersion(), Py_GetCopyright()); 	PySys_SetArgv(argc, argv); 	n = PyImport_ImportFrozenModule("__main__");	if (n == 0)		Py_FatalError("__main__ not frozen");	if (n < 0) {		PyErr_Print();		sts = 1;	}	else		sts = 0; 	if (inspect && isatty((int)fileno(stdin)))		sts = PyRun_AnyFile(stdin, "<stdin>") != 0; #ifdef MS_WINDOWS	PyWinFreeze_ExeTerm();#endif	Py_Finalize();	return sts;}