diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-09-13 15:19:46 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-09-13 15:19:46 -0400 |
commit | e1e7aea55beae31fd0ab067f087401012236cd96 (patch) | |
tree | df299c8fe7ab2f7df5d4499cadf9acf26bb027a8 /src/screen.c | |
parent | aef24a4d43598bd1f65951611e6338a597fc7bc0 (diff) | |
download | libvt100-e1e7aea55beae31fd0ab067f087401012236cd96.tar.gz libvt100-e1e7aea55beae31fd0ab067f087401012236cd96.zip |
add functions to allocate memory for the screen too
Diffstat (limited to 'src/screen.c')
-rw-r--r-- | src/screen.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c index ea16498..ab65adf 100644 --- a/src/screen.c +++ b/src/screen.c @@ -17,6 +17,16 @@ static int vt100_screen_loc_is_between( struct vt100_loc start, struct vt100_loc end); static int vt100_screen_row_max_col(VT100Screen *vt, int row); +VT100Screen *vt100_screen_new() +{ + VT100Screen *vt; + + vt = calloc(1, sizeof(VT100Screen)); + vt100_screen_init(vt); + + return vt; +} + void vt100_screen_init(VT100Screen *vt) { vt->grid = calloc(1, sizeof(struct vt100_grid)); @@ -773,6 +783,12 @@ void vt100_screen_cleanup(VT100Screen *vt) vt100_parser_yylex_destroy(vt->scanner); } +void vt100_screen_delete(VT100Screen *vt) +{ + vt100_screen_cleanup(vt); + free(vt); +} + static void vt100_screen_ensure_capacity(VT100Screen *vt, int size) { int old_capacity = vt->grid->row_capacity; |