57 |
static void _gcgrc(Generic_T *); |
static void _gcgrc(Generic_T *); |
58 |
static void _gcath(Auth_T *); |
static void _gcath(Auth_T *); |
59 |
static void _gc_collector(Collector_T *); |
static void _gc_collector(Collector_T *); |
60 |
|
static void _gc_url(URL_T *); |
61 |
|
static void _gc_request(Request_T *); |
62 |
|
|
63 |
|
|
64 |
/** |
/** |
130 |
} |
} |
131 |
|
|
132 |
|
|
|
void gc_url(Url_T *url) { |
|
|
|
|
|
ASSERT(url); |
|
|
|
|
|
FREE((*url)->url); |
|
|
/* Protocol is automatic memory thus it is not needed to free it */ |
|
|
FREE((*url)->user); |
|
|
FREE((*url)->password); |
|
|
FREE((*url)->hostname); |
|
|
FREE((*url)->path); |
|
|
FREE((*url)->query); |
|
|
FREE(*url); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
133 |
/* ----------------------------------------------------------------- Private */ |
/* ----------------------------------------------------------------- Private */ |
134 |
|
|
135 |
|
|
224 |
|
|
225 |
} |
} |
226 |
|
|
227 |
|
static void _gc_request(Request_T *r) { |
228 |
|
|
229 |
|
int i= 0; |
230 |
|
ASSERT(r); |
231 |
|
|
232 |
|
if((*r)->url) |
233 |
|
_gc_url(&(*r)->url); |
234 |
|
for(i= 0; (*r)->headers[i]; i++) |
235 |
|
FREE((*r)->headers[i]); |
236 |
|
#ifdef HAVE_REGEX_H |
237 |
|
if ((*r)->regex) |
238 |
|
regfree((*r)->regex); |
239 |
|
#endif |
240 |
|
FREE((*r)->regex); |
241 |
|
FREE(*r); |
242 |
|
|
243 |
|
} |
244 |
|
|
245 |
|
|
246 |
|
static void _gc_url(URL_T *url) { |
247 |
|
|
248 |
|
ASSERT(url); |
249 |
|
|
250 |
|
FREE((*url)->url); |
251 |
|
FREE((*url)->protocol); |
252 |
|
FREE((*url)->user); |
253 |
|
FREE((*url)->password); |
254 |
|
FREE((*url)->hostname); |
255 |
|
FREE((*url)->path); |
256 |
|
FREE((*url)->query); |
257 |
|
FREE(*url); |
258 |
|
|
259 |
|
} |
260 |
|
|
261 |
|
|
262 |
static void _gc_mail_server(MailServer_T *s) { |
static void _gc_mail_server(MailServer_T *s) { |
263 |
|
|
331 |
|
|
332 |
if((*p)->action) |
if((*p)->action) |
333 |
_gc_eventaction(&(*p)->action); |
_gc_eventaction(&(*p)->action); |
|
|
|
334 |
if((*p)->generic) |
if((*p)->generic) |
335 |
_gcgrc(&(*p)->generic); |
_gcgrc(&(*p)->generic); |
336 |
|
if((*p)->url_request) |
337 |
|
_gc_request(&(*p)->url_request); |
338 |
|
|
339 |
FREE((*p)->address); |
FREE((*p)->address); |
340 |
FREE((*p)->request); |
FREE((*p)->request); |
343 |
FREE((*p)->SSL.certmd5); |
FREE((*p)->SSL.certmd5); |
344 |
FREE((*p)->request_checksum); |
FREE((*p)->request_checksum); |
345 |
FREE(*p); |
FREE(*p); |
|
|
|
346 |
} |
} |
347 |
|
|
348 |
|
|
534 |
if((*recv)->next) |
if((*recv)->next) |
535 |
_gc_collector(&(*recv)->next); |
_gc_collector(&(*recv)->next); |
536 |
|
|
537 |
gc_url(&(*recv)->url); |
_gc_url(&(*recv)->url); |
538 |
|
|
539 |
FREE((*recv)->ssl.certmd5); |
FREE((*recv)->ssl.certmd5); |
540 |
FREE(*recv); |
FREE(*recv); |