PERFORCE change 155511 for review
Ed Schouten
ed at FreeBSD.org
Wed Dec 31 15:47:23 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=155511
Change 155511 by ed at ed_dull on 2008/12/31 15:46:33
Small cleanup fixes:
- Make CUP/HPA/VPA use the `n' argument type. This means we
don't need teken_clamp() anymore.
- Because we don't use default initialisers anymore, convert all
escape sequences to use `r' for regular escape sequence
arguments.
Affected files ...
.. //depot/projects/mpsafetty/sys/dev/syscons/teken/gensequences#4 edit
.. //depot/projects/mpsafetty/sys/dev/syscons/teken/sequences#7 edit
.. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.c#11 edit
.. //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#23 edit
Differences ...
==== //depot/projects/mpsafetty/sys/dev/syscons/teken/gensequences#4 (text+ko) ====
@@ -112,7 +112,7 @@
print "\tcase '" cchar(l_cmd_suffix[c]) "': /* " l_cmd_abbr[c] ": " l_cmd_name[c] " */";
- if (l_cmd_args[c] == "variable") {
+ if (l_cmd_args[c] == "v") {
print "\t\t" l_cmd_c_name[c] "(t, t->t_curnum, t->t_nums);";
} else {
printf "\t\t%s(t", l_cmd_c_name[c];
@@ -120,8 +120,10 @@
for (a = 1; args[a] != ""; a++) {
if (args[a] == "n")
printf ", (t->t_curnum < %d || t->t_nums[%d] == 0) ? 1 : t->t_nums[%d]", a, (a - 1), (a - 1);
+ else if (args[a] == "r")
+ printf ", t->t_curnum < %d ? 0 : t->t_nums[%d]", a, (a - 1);
else
- printf ", t->t_curnum < %d ? %d : t->t_nums[%d]", a, args[a], (a - 1);
+ die("Invalid argument type: " args[a]);
}
print ");";
}
==== //depot/projects/mpsafetty/sys/dev/syscons/teken/sequences#7 (text+ko) ====
@@ -30,25 +30,26 @@
# Name Sequence name (will be converted to C function name)
# Sequence Bytes that form the sequence
# Arguments Standard value of arguments passed to this sequence
-# - `variable' means a variable number of arguments
-# - `n' converts 0 to 1
+# - `n' non-zero number (0 gets converted to 1)
+# - `r' regular numeric argument
+# - `v' means a variable number of arguments
# Abbr Name Sequence Arguments
CBT Cursor Backward Tabulation ^[ [ Z n
CHT Cursor Forward Tabulation ^[ [ I n
CNL Cursor Next Line ^[ [ E n
CPL Cursor Previous Line ^[ [ F n
-CPR Cursor Position Report ^[ [ n 0
+CPR Cursor Position Report ^[ [ n r
CUB Cursor Backward ^[ [ D n
CUD Cursor Down ^[ [ B n
CUD Cursor Down ^[ [ e n
CUF Cursor Forward ^[ [ C n
CUF Cursor Forward ^[ [ a n
-CUP Cursor Position ^[ [ H 1 1
-CUP Cursor Position ^[ [ f 1 1
+CUP Cursor Position ^[ [ H n n
+CUP Cursor Position ^[ [ f n n
CUU Cursor Up ^[ [ A n
-DA1 Primary Device Attributes ^[ [ c 0
-DA2 Secondary Device Attributes ^[ [ > c 0
+DA1 Primary Device Attributes ^[ [ c r
+DA2 Secondary Device Attributes ^[ [ > c r
DC Delete character ^[ [ P n
DCS Device Control String ^[ P
DECALN Alignment test ^[ # 8
@@ -59,19 +60,19 @@
DECKPNM Keypad numeric mode ^[ >
DECRC Restore cursor ^[ 8
DECRC Restore cursor ^[ [ u
-DECRM Reset DEC mode ^[ [ ? l 0
+DECRM Reset DEC mode ^[ [ ? l r
DECSC Save cursor ^[ 7
DECSC Save cursor ^[ [ s
-DECSM Set DEC mode ^[ [ ? h 0
-DECSTBM Set top and bottom margins ^[ [ r 0 0
+DECSM Set DEC mode ^[ [ ? h r
+DECSTBM Set top and bottom margins ^[ [ r r r
DECSWL Single Height Single Width Line ^[ # 5
DL Delete line ^[ [ M n
-DSR Device Status Report ^[ [ ? n 0
+DSR Device Status Report ^[ [ ? n r
ECH Erase character ^[ [ X n
-ED Erase display ^[ [ J 0
-EL Erase line ^[ [ K 0
-HPA Horizontal Position Absolute ^[ [ G 1
-HPA Horizontal Position Absolute ^[ [ ` 1
+ED Erase display ^[ [ J r
+EL Erase line ^[ [ K r
+HPA Horizontal Position Absolute ^[ [ G n
+HPA Horizontal Position Absolute ^[ [ ` n
HTS Horizontal Tab Set ^[ H
ICH Insert character ^[ [ @ n
IL Insert line ^[ [ L n
@@ -79,7 +80,7 @@
NEL Next line ^[ E
RI Reverse index ^[ M
RIS Reset to Initial State ^[ c
-RM Reset Mode ^[ [ l 0
+RM Reset Mode ^[ [ l r
SCS SCS ^[ ( 0
SCS SCS ^[ ( 1
SCS SCS ^[ ( 2
@@ -91,16 +92,16 @@
SCS SCS ^[ ) A
SCS SCS ^[ ) B
SD Pan Up ^[ [ T n
-SGR Set Graphic Rendition ^[ [ m variable
-SM Set Mode ^[ [ h 0
+SGR Set Graphic Rendition ^[ [ m v
+SM Set Mode ^[ [ h r
ST String Terminator ^[ \\
SU Pan Down ^[ [ S n
-TBC Tab Clear ^[ [ g 0
-VPA Vertical Position Absolute ^[ [ d 1
+TBC Tab Clear ^[ [ g r
+VPA Vertical Position Absolute ^[ [ d n
# Cons25 compatibility sequences
-C25CURS Cons25 set cursor type ^[ [ = S 0
-C25VTSW Cons25 switch virtual terminal ^[ [ z 0
+C25CURS Cons25 set cursor type ^[ [ = S r
+C25VTSW Cons25 switch virtual terminal ^[ [ z r
# VT52 compatibility
#DECID VT52 DECID ^[ Z
==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken.c#11 (text+ko) ====
@@ -60,8 +60,6 @@
}
#endif /* TEKEN_UTF8 */
-#define teken_clamp(x,low,high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
-
/* Private flags for teken_format_t. */
#define TF_REVERSE 0x08
==== //depot/projects/mpsafetty/sys/dev/syscons/teken/teken_subr.h#23 (text+ko) ====
@@ -306,9 +306,14 @@
teken_subr_cursor_position(teken_t *t, unsigned int row, unsigned int col)
{
- t->t_cursor.tp_row = teken_clamp(row + t->t_originreg.ts_begin,
- 1, t->t_originreg.ts_end) - 1;
- t->t_cursor.tp_col = teken_clamp(col, 1, t->t_winsize.tp_col) - 1;
+ t->t_cursor.tp_row = t->t_originreg.ts_begin + row - 1;
+ if (row >= t->t_originreg.ts_end)
+ t->t_cursor.tp_row = t->t_originreg.ts_end - 1;
+
+ t->t_cursor.tp_col = col - 1;
+ if (t->t_cursor.tp_col >= t->t_winsize.tp_col)
+ t->t_cursor.tp_col = t->t_winsize.tp_col - 1;
+
t->t_stateflags &= ~TS_WRAPPED;
teken_funcs_cursor(t);
}
@@ -512,7 +517,10 @@
teken_subr_horizontal_position_absolute(teken_t *t, unsigned int col)
{
- t->t_cursor.tp_col = teken_clamp(col, 1, t->t_winsize.tp_col) - 1;
+ t->t_cursor.tp_col = col - 1;
+ if (t->t_cursor.tp_col >= t->t_winsize.tp_col)
+ t->t_cursor.tp_col = t->t_winsize.tp_col - 1;
+
t->t_stateflags &= ~TS_WRAPPED;
teken_funcs_cursor(t);
}
@@ -1089,8 +1097,11 @@
teken_subr_vertical_position_absolute(teken_t *t, unsigned int row)
{
- t->t_cursor.tp_row = teken_clamp(row + t->t_originreg.ts_begin,
- 1, t->t_originreg.ts_end) - 1;
+ t->t_cursor.tp_row = t->t_originreg.ts_begin + row - 1;
+ if (row >= t->t_originreg.ts_end)
+ t->t_cursor.tp_row = t->t_originreg.ts_end - 1;
+
+
t->t_stateflags &= ~TS_WRAPPED;
teken_funcs_cursor(t);
}
More information about the p4-projects
mailing list