Commit 852ba7eb authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #672053: Return a result from Py_Main, instead of exiting.

parent e98922fb
...@@ -88,7 +88,7 @@ PYTHONCASEOK : ignore case in 'import' statements (Windows).\n\ ...@@ -88,7 +88,7 @@ PYTHONCASEOK : ignore case in 'import' statements (Windows).\n\
"; ";
static void static int
usage(int exitcode, char* program) usage(int exitcode, char* program)
{ {
FILE *f = exitcode ? stderr : stdout; FILE *f = exitcode ? stderr : stdout;
...@@ -105,14 +105,14 @@ usage(int exitcode, char* program) ...@@ -105,14 +105,14 @@ usage(int exitcode, char* program)
#if defined(__VMS) #if defined(__VMS)
if (exitcode == 0) { if (exitcode == 0) {
/* suppress 'error' message */ /* suppress 'error' message */
exit(1); return 1;
} }
else { else {
/* STS$M_INHIB_MSG + SS$_ABORT */ /* STS$M_INHIB_MSG + SS$_ABORT */
exit(0x1000002c); return 0x1000002c;
} }
#else #else
exit(exitcode); return exitcode;
#endif #endif
/*NOTREACHED*/ /*NOTREACHED*/
} }
...@@ -194,7 +194,7 @@ Py_Main(int argc, char **argv) ...@@ -194,7 +194,7 @@ Py_Main(int argc, char **argv)
fprintf(stderr, fprintf(stderr,
"-Q option should be `-Qold', " "-Q option should be `-Qold', "
"`-Qwarn', `-Qwarnall', or `-Qnew' only\n"); "`-Qwarn', `-Qwarnall', or `-Qnew' only\n");
usage(2, argv[0]); return usage(2, argv[0]);
/* NOTREACHED */ /* NOTREACHED */
case 'i': case 'i':
...@@ -255,18 +255,18 @@ Py_Main(int argc, char **argv) ...@@ -255,18 +255,18 @@ Py_Main(int argc, char **argv)
/* This space reserved for other options */ /* This space reserved for other options */
default: default:
usage(2, argv[0]); return usage(2, argv[0]);
/*NOTREACHED*/ /*NOTREACHED*/
} }
} }
if (help) if (help)
usage(0, argv[0]); return usage(0, argv[0]);
if (version) { if (version) {
fprintf(stderr, "Python %s\n", PY_VERSION); fprintf(stderr, "Python %s\n", PY_VERSION);
exit(0); return 0;
} }
if (!saw_inspect_flag && if (!saw_inspect_flag &&
...@@ -291,7 +291,7 @@ Py_Main(int argc, char **argv) ...@@ -291,7 +291,7 @@ Py_Main(int argc, char **argv)
if ((fp = fopen(filename, "r")) == NULL) { if ((fp = fopen(filename, "r")) == NULL) {
fprintf(stderr, "%s: can't open file '%s'\n", fprintf(stderr, "%s: can't open file '%s'\n",
argv[0], filename); argv[0], filename);
exit(2); return 2;
} }
else if (skipfirstline) { else if (skipfirstline) {
int ch; int ch;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment