summaryrefslogtreecommitdiffstats
path: root/Python/pythonmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/pythonmain.c')
-rw-r--r--Python/pythonmain.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/Python/pythonmain.c b/Python/pythonmain.c
index 0e47c9a..0f8ff02 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;
-
}
}