Got rid of code duplication in tnew() and tresize(). - st - simple terminal (HTM) git clone https://git.parazyd.org/st (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(); }