Kaydet (Commit) 46b16380 authored tarafından Guido van Rossum's avatar Guido van Rossum

Stop option processing immediately after "-c command",

leaving additional options for the command to handle.
üst bdfcfccb
......@@ -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;
}
}
......
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