ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/screen.C
(Generate patch)

Comparing rxvt-unicode/src/screen.C (file contents):
Revision 1.212 by root, Fri Jan 6 05:37:59 2006 UTC vs.
Revision 1.213 by root, Fri Jan 6 18:33:30 2006 UTC

700/* ------------------------------------------------------------------------- */ 700/* ------------------------------------------------------------------------- */
701/* 701/*
702 * Add text given in <str> of length <len> to screen struct 702 * Add text given in <str> of length <len> to screen struct
703 */ 703 */
704void 704void
705rxvt_term::scr_add_lines (const unicode_t *str, int nlines, int len) 705rxvt_term::scr_add_lines (const wchar_t *str, int len, int minlines)
706{ 706{
707 if (len <= 0) /* sanity */ 707 if (len <= 0) /* sanity */
708 return; 708 return;
709 709
710 unsigned char checksel; 710 unsigned char checksel;
711 unicode_t c; 711 unicode_t c;
712 int ncol = this->ncol; 712 int ncol = this->ncol;
713 const unicode_t *strend = str + len; 713 const wchar_t *strend = str + len;
714 714
715 want_refresh = 1; 715 want_refresh = 1;
716 ZERO_SCROLLBACK (); 716 ZERO_SCROLLBACK ();
717 717
718 if (nlines > 0) 718 if (minlines > 0)
719 { 719 {
720 nlines += screen.cur.row - screen.bscroll; 720 minlines += screen.cur.row - screen.bscroll;
721 721
722 if (nlines > 0 722 if (minlines > 0
723 && screen.tscroll == 0 723 && screen.tscroll == 0
724 && screen.bscroll == nrow - 1) 724 && screen.bscroll == nrow - 1)
725 { 725 {
726 /* _at least_ this many lines need to be scrolled */ 726 /* _at least_ this many lines need to be scrolled */
727 scr_scroll_text (screen.tscroll, screen.bscroll, nlines); 727 scr_scroll_text (screen.tscroll, screen.bscroll, minlines);
728 screen.cur.row -= nlines; 728 screen.cur.row -= minlines;
729 } 729 }
730 } 730 }
731 731
732#ifdef DEBUG_STRICT 732#ifdef DEBUG_STRICT
733 assert (screen.cur.col < ncol); 733 assert (screen.cur.col < ncol);
740 740
741 line_t *line = &ROW(row); 741 line_t *line = &ROW(row);
742 742
743 while (str < strend) 743 while (str < strend)
744 { 744 {
745 c = *str++; 745 c = (unicode_t)*str++; // convert to rxvt-unicodes representation
746 746
747 if (c < 0x20) 747 if (c < 0x20)
748 if (c == C0_LF) 748 if (c == C0_LF)
749 { 749 {
750 max_it (line->l, screen.cur.col); 750 max_it (line->l, screen.cur.col);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines