C shell bug

utzoo!decvax!ucbvax!menlo70!hao!pag utzoo!decvax!ucbvax!menlo70!hao!pag
Thu Oct 1 13:27:16 AEST 1981


The "&&" and "||" command operators (as opposed to expression operators)
in the C shell have their senses reversed, ie

XXX && date	yields
XXX: command not found
Thu Oct  1 13:05:38 MDT 1981

XXX || date	yields
XXX: command not found

The fix for this is in the file sh.sem.c; replace the line
			if ((getn(value("status")) == 0) == (t->t_dtyp == TAND))
with
			if ((getn(value("status")) == 0) == (t->t_dtyp == TOR))


As far as I know, this bug still exists on both the 2.8 and 4.1 bsd's.
						--peter gross
						ucbvax!menlo70!hao!pag



More information about the Comp.bugs.2bsd mailing list