@ -1587,30 +1587,32 @@ tclearregion(int x1, int y1, int x2, int y2) {
void
void
tdeletechar ( int n ) {
tdeletechar ( int n ) {
int dst , src , size ;
int dst , src , size ;
Glyph * line ;
LIMIT ( n , 0 , term . col - term . c . x ) ;
LIMIT ( n , 0 , term . col - term . c . x ) ;
dst = term . c . x ;
dst = term . c . x ;
src = term . c . x + n ;
src = term . c . x + n ;
size = term . col - src ;
size = term . col - src ;
line = term . line [ term . c . y ] ;
memmove ( & term . line [ term . c . y ] [ dst ] , & term . line [ term . c . y ] [ src ] ,
size * sizeof ( Glyph ) ) ;
memmove ( & line [ dst ] , & line [ src ] , size * sizeof ( Glyph ) ) ;
tclearregion ( term . col - n , term . c . y , term . col - 1 , term . c . y ) ;
tclearregion ( term . col - n , term . c . y , term . col - 1 , term . c . y ) ;
}
}
void
void
tinsertblank ( int n ) {
tinsertblank ( int n ) {
int dst , src , size ;
int dst , src , size ;
Glyph * line ;
LIMIT ( n , 0 , term . col - term . c . x ) ;
LIMIT ( n , 0 , term . col - term . c . x ) ;
dst = term . c . x + n ;
dst = term . c . x + n ;
src = term . c . x ;
src = term . c . x ;
size = term . col - dst ;
size = term . col - dst ;
line = term . line [ term . c . y ] ;
memmove ( & term . line [ term . c . y ] [ dst ] , & term . line [ term . c . y ] [ src ] ,
size * sizeof ( Glyph ) ) ;
memmove ( & line [ dst ] , & line [ src ] , size * sizeof ( Glyph ) ) ;
tclearregion ( src , term . c . y , dst - 1 , term . c . y ) ;
tclearregion ( src , term . c . y , dst - 1 , term . c . y ) ;
}
}