-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: ebb55be0f9884974e14e7a9e6f1ea450e636d144:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit ebb55be0f9884974e14e7a9e6f1ea450e636d144
Author: Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
Date:   Sun Jan 13 22:30:47 2013 +0000

    Factor the code to copy a line into a method.

diff --git a/src/rxvt.h b/src/rxvt.h

index 43eeb983eb4b0a3f632d93c65a483336759b8560..

index ..b5e75004c307470c366e4195a50b7255f98f55d5 100644

--- a/src/rxvt.h
+++ b/src/rxvt.h
@@ -1488,6 +1488,7 @@ struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen
   void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW;
   void scr_kill_char (line_t &l, int col) const NOTHROW;
   int scr_scroll_text (int row1, int row2, int count) NOTHROW;
+  void copy_line (line_t &dst, line_t &src);
   void scr_reset ();
   void scr_release () NOTHROW;
   void scr_clear (bool really = false) NOTHROW;
diff --git a/src/screen.C b/src/screen.C

index 149d3e490119abce5ccaf776406c65a22826d169..

index ..077322518674513c79e67d972a5cf48663e6ca4d 100644

--- a/src/screen.C
+++ b/src/screen.C
@@ -190,6 +190,16 @@ rxvt_term::scr_alloc () NOTHROW
   row_buf   = swap_buf  + nrow;
 }

+void
+rxvt_term::copy_line (line_t &dst, line_t &src)
+{
+  scr_blank_screen_mem (dst, DEFAULT_RSTYLE);
+  dst.l = min (src.l, ncol);
+  memcpy (dst.t, src.t, sizeof (text_t) * dst.l);
+  memcpy (dst.r, src.r, sizeof (rend_t) * dst.l);
+  dst.f = src.f;
+}
+
 void ecb_cold
 rxvt_term::scr_reset ()
 {
@@ -232,8 +242,6 @@ rxvt_term::scr_reset ()
   line_t *prev_swap_buf  = swap_buf;
   line_t *prev_row_buf   = row_buf;

-  int common_col = min (prev_ncol, ncol);
-
   scr_alloc ();

   if (!prev_row_buf)
@@ -277,16 +285,8 @@ rxvt_term::scr_reset ()

       for (int row = min (nrow, prev_nrow); row--; )
         {
-          scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE);
-          scr_blank_screen_mem (swap_buf  [row], DEFAULT_RSTYLE);
-
-          memcpy (drawn_buf [row].t, prev_drawn_buf [row].t, sizeof (text_t) * common_col);
-          memcpy (drawn_buf [row].r, prev_drawn_buf [row].r, sizeof (rend_t) * common_col);
-
-          memcpy (swap_buf  [row].t, prev_swap_buf  [row].t, sizeof (text_t) * common_col);
-          memcpy (swap_buf  [row].r, prev_swap_buf  [row].r, sizeof (rend_t) * common_col);
-          swap_buf [row].l = min (prev_swap_buf [row].l, ncol);
-          swap_buf [row].f = prev_swap_buf [row].f;
+          copy_line (drawn_buf [row], prev_drawn_buf [row]);
+          copy_line (swap_buf [row], prev_swap_buf [row]);
         }

       int p    = MOD (term_start + prev_nrow, prev_total_rows);  // previous row
@@ -391,12 +391,7 @@ rxvt_term::scr_reset ()
               line_t &src = prev_row_buf [MOD (term_start + row, prev_total_rows)];
               line_t &dst = row_buf [row];

-              scr_blank_screen_mem (dst, DEFAULT_RSTYLE);
-
-              memcpy (dst.t, src.t, sizeof (text_t) * common_col);
-              memcpy (dst.r, src.r, sizeof (rend_t) * common_col);
-              dst.l = min (src.l, ncol);
-              dst.f = src.f;
+              copy_line (dst, src);
             }

           for (int row = prev_nrow; row < nrow; row++)

-----END OF PAGE-----

-- Response ended

-- Page fetched on Sun Jun 2 09:23:02 2024