Stop option processing immediately after "-c command",

leaving additional options for the command to handle.
This commit is contained in:
Guido van Rossum 1992-01-02 16:16:18 +00:00
parent bdfcfccbe5
commit 46b1638044
1 changed files with 13 additions and 12 deletions

View File

@ -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;
}
}