Author: mcayland Date: Sun Jun 9 14:25:36 2013 New Revision: 1153 URL: http://tracker.coreboot.org/trac/openbios/changeset/1153
Log: terminal.fs: Fix CSI n;mH and CSI n;mf control sequences.
Fix an off-by-one error in the lines/columns calculations and also ensure that we correctly interpret control sequences when not all of the optional parameters are present.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk
Modified: trunk/openbios-devel/forth/device/terminal.fs
Modified: trunk/openbios-devel/forth/device/terminal.fs ============================================================================== --- trunk/openbios-devel/forth/device/terminal.fs Sun Jun 9 14:25:33 2013 (r1152) +++ trunk/openbios-devel/forth/device/terminal.fs Sun Jun 9 14:25:36 2013 (r1153) @@ -97,17 +97,39 @@ endof ascii f of 2 (esc-number) - 2 = if - #columns 1- min to column# - #lines 1- min to line# - then + case + 2 of + 1- #columns 1- min to column# + 1- #lines 1- min to line# + endof + 1 of + 0 to column# + 1- #lines 1- min to line# + endof + 0 of + 0 to column# + 0 to line# + drop + endof + endcase endof ascii H of - 2 (esc-number) - 2 = if - #columns 1- min to column# - #lines 1- min to line# - then + 2 (esc-number) + case + 2 of + 1- #columns 1- min to column# + 1- #lines 1- min to line# + endof + 1 of + 0 to column# + 1- #lines 1- min to line# + endof + 0 of + 0 to column# + 0 to line# + drop + endof + endcase endof ascii J of 0 to (escseq)