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