[comp.bugs.4bsd] Bug in bc's "e" library routine in 4.3bsd and probably others

whm@arizona.UUCP (07/09/87)

bc's "e" function uses "t" as a local variable (to save the value of "scale"),
but doesn't declare it.  Thus, calling e changes the value of t globally.

Try:
	bc -l
	t=0
	e(0)
	t

It'll probably tell you that t is 20 or somesuch.

To fix, edit /usr/lib/lib.b and just add t to the auto list for e.

Of course, if there are any bc programs around that count on e setting
t to the value of scale, they'll break.

					Bill Mitchell
					whm@arizona.edu
					{allegra,ihnp4,noao}!arizona!whm