Amazing bug in SVR2 cc driver
Doug Gwyn <gwyn>
gwyn at brl-tgr.ARPA
Mon Jan 13 07:49:23 AEST 1986
/* @(#)cc.c 1.5 */
/*
* cc command -- calls the appropriate passes of the
* c compiler, assembler, and loader.
*/
char release[] = "@(#) C rel 6.0";
...
case 'E':
exflag++;
case 'P':
pflag++;
cflag++;
case 'D':
case 'I':
case 'U':
case 'C':
if (nlist[Xcp] >= nargs) {
error("Too many EPDIUC options", (char *)NULL);
continue;
}
if (c == 'E' || c == 'P' || c == 'C') /* DAG -- bug fix */
list[Xcp][nlist[Xcp]] = stralloc(3); /* DAG */
else /* c == 'D' || c == 'I' || c == 'U' */ /* DAG */
list[Xcp][nlist[Xcp]] = stralloc(strlen(optarg)+2);
list[Xcp][nlist[Xcp]][0] = '-';
list[Xcp][nlist[Xcp]][1] = c;
list[Xcp][nlist[Xcp]][2] = '\0';
if (c == 'D' || c == 'I' || c == 'U') /* DAG -- bug fix */
strcat(list[Xcp][nlist[Xcp]], optarg);
nlist[Xcp]++;
continue;
More information about the Net.bugs.usg
mailing list