aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Sedov <alex0player@gmail.com>2013-04-15 00:12:10 +0400
committerChristoph Lohmann <20h@r-36.net>2013-04-18 06:39:43 +0200
commitfed9968ba5d3c6874f73517b261968746d36801e (patch)
tree8a2b438f09837ef130b94812c9a7716d5ec5870e
parent0ca0dd8b11ec0febc547e485395b7c9ec01e2866 (diff)
downloadst-fed9968ba5d3c6874f73517b261968746d36801e.tar.gz
st-fed9968ba5d3c6874f73517b261968746d36801e.tar.bz2
Got rid of code duplication in tnew() and tresize().
Signed-off-by: Christoph Lohmann <20h@r-36.net>
-rw-r--r--st.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/st.c b/st.c
index 56dc94c..fc07a46 100644
--- 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();
}