]> granicus.if.org Git - python/commitdiff
Patch #672053: Return a result from Py_Main, instead of exiting.
authorMartin v. Löwis <martin@v.loewis.de>
Sun, 30 Mar 2003 17:09:58 +0000 (17:09 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Sun, 30 Mar 2003 17:09:58 +0000 (17:09 +0000)
Modules/main.c

index 056a6b6fe3fbb9c7c5a3ccdda1b04153380ea294..50440b33b285140194d16d032d300c5f79003d22 100644 (file)
@@ -88,7 +88,7 @@ PYTHONCASEOK : ignore case in 'import' statements (Windows).\n\
 ";
 
 
-static void
+static int
 usage(int exitcode, char* program)
 {
        FILE *f = exitcode ? stderr : stdout;
@@ -105,14 +105,14 @@ usage(int exitcode, char* program)
 #if defined(__VMS)
        if (exitcode == 0) {
                /* suppress 'error' message */
-               exit(1);
+               return 1;
        }
        else {
                /* STS$M_INHIB_MSG + SS$_ABORT */
-               exit(0x1000002c);
+               return 0x1000002c;
        }
 #else
-       exit(exitcode);
+       return exitcode;
 #endif
        /*NOTREACHED*/
 }
@@ -194,7 +194,7 @@ Py_Main(int argc, char **argv)
                        fprintf(stderr,
                                "-Q option should be `-Qold', "
                                "`-Qwarn', `-Qwarnall', or `-Qnew' only\n");
-                       usage(2, argv[0]);
+                       return usage(2, argv[0]);
                        /* NOTREACHED */
 
                case 'i':
@@ -255,18 +255,18 @@ Py_Main(int argc, char **argv)
                /* This space reserved for other options */
 
                default:
-                       usage(2, argv[0]);
+                       return usage(2, argv[0]);
                        /*NOTREACHED*/
 
                }
        }
 
        if (help)
-               usage(0, argv[0]);
+               return usage(0, argv[0]);
 
        if (version) {
                fprintf(stderr, "Python %s\n", PY_VERSION);
-               exit(0);
+               return 0;
        }
 
        if (!saw_inspect_flag &&
@@ -291,7 +291,7 @@ Py_Main(int argc, char **argv)
                        if ((fp = fopen(filename, "r")) == NULL) {
                                fprintf(stderr, "%s: can't open file '%s'\n",
                                        argv[0], filename);
-                               exit(2);
+                               return 2;
                        }
                        else if (skipfirstline) {
                                int ch;