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