From: Guido van Rossum Date: Thu, 2 Jan 1992 16:16:18 +0000 (+0000) Subject: Stop option processing immediately after "-c command", X-Git-Tag: v0.9.8~623 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46b1638044ab8afaa78843a8f5f76213f20ef023;p=thirdparty%2FPython%2Fcpython.git Stop option processing immediately after "-c command", leaving additional options for the command to handle. --- diff --git a/Python/pythonmain.c b/Python/pythonmain.c index 0e47c9a3d609..0f8ff0239036 100644 --- a/Python/pythonmain.c +++ b/Python/pythonmain.c @@ -65,8 +65,21 @@ main(argc, argv) initargs(&argc, &argv); /* Defined in config*.c */ while ((c = getopt(argc, argv, "c:")) != EOF) { + if (c == 'c') { + /* -c is the last option; following arguments + that look like options are left for the + the command to interpret. */ + command = malloc(strlen(optarg) + 2); + /* Ignore malloc errors this early... */ + strcpy(command, optarg); + strcat(command, "\n"); + break; + } + switch (c) { + /* This space reserved for other options */ + default: fprintf(stderr, "usage: %s [-c cmd | file | -] [arg] ...\n", @@ -74,18 +87,6 @@ main(argc, argv) exit(2); /*NOTREACHED*/ - case 'c': - if (command != NULL) { - fprintf(stderr, "%s: duplicate -c option\n", - argv[0]); - exit(2); - } - command = malloc(strlen(optarg) + 2); - /* Ignore malloc errors this early... */ - strcpy(command, optarg); - strcat(command, "\n"); - break; - } }