READ don't use max # of words to parse
Even if initialized to 0 (see line 2 in TEST-READ) READ will parse the words. This doesn't work in many other terps.
<VERSION XZIP>
<CONSTANT RELEASEID 1>
<GLOBAL READBUF <ITABLE BYTE 63>>
<GLOBAL PARSEBUF <ITABLE BYTE 28>>
<OBJECT PASSWORD (SYNONYM PASSWORD)>
<ROUTINE GO () <CRLF> <TEST-READ>>
<ROUTINE TEST-READ ()
<PUTB ,READBUF 0 60> ;"Max length of READBUF"
<PUTB ,PARSEBUF 0 0> ;"Max # words that will be parsed, ZLR ignores this"
<TELL CR CR "You'll NEVER guess the password!!" CR>
<REPEAT (W)
<TELL "Enter password: ">
<DO (I 1 63) <PUTB ,READBUF .I 0>> ;"Clear READBUF"
<DO (I 1 28) <PUTB ,PARSEBUF .I 0>> ;"Clear PARSEBUF"
<READ ,READBUF ,PARSEBUF>
<SET W <AND <GETB ,PARSEBUF 1> <GET ,PARSEBUF 1>>>
<COND (<=? .W W?PASSWORD> <TELL "Darn!!" CR> <RETURN>)>
<TELL "Wrong password!" CR>
>
>
Edited by Tara McGrew