static char *sccsid
= "@(#)wwinschar.c 3.4 83/08/16";
wwinschar(w
, line
, col
, c
)
int row
= line
- w
->ww_scroll
;
register union ww_char
*p
, *q
;
p
= &w
->ww_buf
[line
][w
->ww_w
.nc
];
for (i
= w
->ww_w
.nc
- col
- 1; --i
>= 0;)
if (row
< 0 || row
>= w
->ww_w
.nr
)
register union ww_char
*buf
;
register union ww_char
*ns
;
smap
= &wwsmap
[row
+ w
->ww_w
.t
][col
+ w
->ww_w
.l
];
for (i
= w
->ww_w
.nc
- col
; i
> 0; i
--)
if (*smap
== w
->ww_index
)
buf
= &w
->ww_buf
[line
][col
];
win
= &w
->ww_win
[row
][col
];
ns
= &wwns
[row
+ w
->ww_w
.t
][col
+ w
->ww_w
.l
];
touched
= &wwtouched
[row
+ w
->ww_w
.t
];
c
= buf
->c_w
^ *win
<< WWC_MSHIFT
;
if ((*win
& (WWM_COV
|WWM_GLS
)) != 0) {
if (nvis
> (wwncol
- col
) / 2) {
register union ww_char
*p
, *q
;
(*tt
.tt_setmodes
)(c
>> WWC_MSHIFT
);
(*tt
.tt_putc
)(c
& WWC_CMASK
);
for (i
= wwncol
- col
- 1; --i
>= 0;)