Got rid of code duplication in tnew() and tresize(). - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit fed9968ba5d3c6874f73517b261968746d36801e
 (DIR) parent 0ca0dd8b11ec0febc547e485395b7c9ec01e2866
 (HTM) Author: Alexander Sedov <alex0player@gmail.com>
       Date:   Mon, 15 Apr 2013 00:12:10 +0400
       
       Got rid of code duplication in tnew() and tresize().
       
       Signed-off-by: Christoph Lohmann <20h@r-36.net>
       
       Diffstat:
         M st.c                                |      18 +++---------------
       
       1 file changed, 3 insertions(+), 15 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -1195,22 +1195,10 @@ treset(void) {
        
        void
        tnew(int col, int row) {
       -        /* set screen size */
       -        term.row = row;
       -        term.col = col;
       -        term.line = xmalloc(term.row * sizeof(Line));
       -        term.alt  = xmalloc(term.row * sizeof(Line));
       -        term.dirty = xmalloc(term.row * sizeof(*term.dirty));
       -        term.tabs = xmalloc(term.col * sizeof(*term.tabs));
       -
       -        for(row = 0; row < term.row; row++) {
       -                term.line[row] = xmalloc(term.col * sizeof(Glyph));
       -                term.alt [row] = xmalloc(term.col * sizeof(Glyph));
       -                term.dirty[row] = 0;
       -        }
       -
       +        /* setting "zero" terminal to resize it later */
       +        memset(&term, 0, sizeof(Term));
       +        tresize(col, row);
                term.numlock = 1;
       -        memset(term.tabs, 0, term.col * sizeof(*term.tabs));
                /* setup screen */
                treset();
        }