Line data Source code
1 : #include "../../burp.h"
2 : #include "win.h"
3 : #include "rconf.h"
4 : #include "../../alloc.h"
5 :
6 9 : struct win *win_alloc(struct rconf *rconf)
7 : {
8 9 : struct win *win=NULL;
9 18 : if(!(win=(struct win *)calloc_w(1, sizeof(struct win), __func__))
10 17 : || !(win->data=(char *)calloc_w(
11 8 : 1, sizeof(char)*rconf->win_size, __func__)))
12 1 : win_free(&win);
13 9 : return win;
14 : }
15 :
16 : static void win_free_content(struct win *win)
17 : {
18 8 : if(!win) return;
19 8 : free_w(&win->data);
20 : }
21 :
22 10 : void win_free(struct win **win)
23 : {
24 20 : if(!win || !*win) return;
25 8 : win_free_content(*win);
26 8 : free_v((void **)win);
27 : }
|