Infernal Error #666
(#98491) An invalid string was passed to SETCOLOR().
() I was unable to reproduce this bug with some pretty wild SETCOLOR()
strings. Some folks believe that it is not really a SETCOLOR() problem
and that, instead, it is a memory problem in SETCOLOR(). According to
other testers, macroed variables are more likely to produce the error of
the beast. Who really knows the true nature of Hell (... better than
Basil Hosmer and Dante') ? :)
() Pat Cassidy [76605,2365] provided me with these two wonderful hair ~
raising bits of code. They both faithfully produce the 666 error on my
machine and his. (pun intended)
************************************************************
* Program 1
************************************************************
line := 0
set color to ("$$$$$$$$$$$") ; ? ++line //1
x := setcolor() ; ? ++line //2
? "Setcolor returns ", x ; ? ++line //3
set color to &x ; ? ++line //4
z := "@@@@@@@@@@@@@" ; ? ++line //5
set color to &z ; ? ++line //6
set color to "z+/z/t/m/q" ; ? ++line //7
? setcolor() ; ? ++line //8 - last line executed ok
m = "z+/z/t+/m/q" ; ? ++line //9 - setcolor(0) error here??
setcolor(m) ; ? ++line //10
set color to &m ; ? ++line //11
? setcolor() ; ? ++line //12
set color to "w/n,w/n,w/n,w/n,w/n,w/n"
setcolor("W/n,w/n,w,n,w/n/w/n,w/n,w/n")
************************************************************
* Program 2
************************************************************
line := 0
set color to ("w/n,w/n") ; ? ++line // print "1"
x := setcolor() ; ? ++line // print "2"
? "Setcolor returns ", x ; ? ++line // and "3"
set color to &x ; ? ++line //4
z := "w/n,w/n" ; ? ++line //5
set color to &z ; ? ++line //6
set color to "w/n" ; ? ++line //7
? setcolor() ; ? ++line //8
m = "w/n,w/n" ; ? ++line //9
setcolor(m) ; ? ++line //10
set color to &m ; ? ++line //11 - ok so far(prints 11)
? setcolor() ; ? ++line //12 - never gets here
set color to "w/n,w/n,w/n,w/n,w/n,w/n"
setcolor("W/n,w/n,w,n,w/n/w/n,w/n,w/n")