Ви не можете вибрати більше 25 тем
Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
|
- : (rdlnc) ( -- f )
- ( buffer overflow? same as if we typed a newline )
- IN> @ IN) = IF 0x0a ELSE KEY THEN ( c )
- DUP 0x7f = IF DROP 0x8 THEN ( del? same as backspace )
- DUP 0x0a = IF DROP 0xd THEN ( lf? same as cr )
- ( echo back )
- DUP EMIT ( c )
- ( bacspace? handle and exit )
- DUP 0x8 = IF (inbs) EXIT THEN
- ( write and advance )
- DUP ( keep as result ) ( c c )
- ( We take advantage of the fact that c's MSB is always zero and
- thus ! automatically null-terminates our string )
- IN> @ ! 1 IN> +! ( c )
- ( if newline, replace with zero to indicate EOL )
- DUP 0xd = IF DROP 0 THEN ;
|