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