diff options
author | Michael Adam <obnox@samba.org> | 2009-12-07 00:22:53 +0100 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2009-12-07 00:32:22 +0100 |
commit | dcbf99d3348a73ba2a4022735c6a5775e67ffa45 (patch) | |
tree | 927e1120a0b0f028db528d6fe865ffa877202a38 /src | |
parent | 1360f530f1b2e1b703d28a19e643d4deec1f083a (diff) |
Add free_config() - free all config data.
Michael
Diffstat (limited to 'src')
-rw-r--r-- | src/conf.c | 31 | ||||
-rw-r--r-- | src/conf.h | 1 |
2 files changed, 32 insertions, 0 deletions
@@ -261,6 +261,37 @@ struct { const unsigned int ndirectives = sizeof (directives) / sizeof (directives[0]); +void free_config (struct config_s *conf) +{ + safefree (conf->config_file); + safefree (conf->logf_name); + safefree (conf->stathost); + safefree (conf->user); + safefree (conf->group); + safefree (conf->ipAddr); +#ifdef FILTER_ENABLE + safefree (conf->filter); +#endif /* FILTER_ENABLE */ +#ifdef REVERSE_SUPPORT + free_reversepath_list(conf->reversepath_list); + safefree (conf->reversebaseurl); +#endif +#ifdef UPSTREAM_SUPPORT + free_upstream_list (conf->upstream_list); +#endif /* UPSTREAM_SUPPORT */ + safefree (conf->pidpath); + safefree (conf->bind_address); + safefree (conf->via_proxy_name); + hashmap_delete (conf->errorpages); + safefree (conf->errorpage_undef); + safefree (conf->statpage); + flush_access_list (conf->access_list); + free_connect_ports_list (conf->connect_ports); + hashmap_delete (conf->anonymous_map); + + memset (conf, 0, sizeof(*conf)); +} + /* * Compiles the regular expressions used by the configuration file. This * routine MUST be called before trying to parse the configuration file. @@ -22,5 +22,6 @@ #define TINYPROXY_CONF_H extern int load_config_file (const char *config_fname, struct config_s *conf); +void free_config (struct config_s *conf); #endif |