/* copy screen-full of saved lines */ static void history_to_screen(scr_stat *scp) { int pos; int i; pos = scp->history_pos; for (i = 1; i <= scp->ysize; ++i) { pos = sc_vtb_pos(scp->history, pos, -scp->xsize); sc_vtb_copy(scp->history, pos, &scp->vtb, scp->xsize*(scp->ysize - i), scp->xsize); } mark_all(scp); }
/* copy cnt of saved lines */ static void history_to_screen_lines(scr_stat *scp, int cnt) { int pos; int i; int lines = imin(cnt, scp->ysize); pos = scp->history_pos; for (i = 1; i <= lines; ++i) { pos = sc_vtb_pos(scp->history, pos, -scp->xsize); sc_vtb_copy(scp->history, pos, &scp->vtb, scp->xsize*(lines - i), scp->xsize); } mark_all(scp); }