aboutsummaryrefslogtreecommitdiff
path: root/src/tool_cfgable.c
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2011-09-17 14:09:36 +0200
committerYang Tse <yangsita@gmail.com>2011-09-18 01:59:21 +0200
commitf50d4647d0f4e34f74b48dfc05e60739e737b890 (patch)
tree8a34e7db94cfddd6cdc507dc0c99205c5128b89c /src/tool_cfgable.c
parent805b4740c7113c73cc3efc81c2baa79dfcdd9215 (diff)
curl tool: reorder free_config_fields() field handling
Reorder handling of fields to match same order as the one given by current definition order of 'Configurable' struct fields. Fields currently not handled marked for further inspection.
Diffstat (limited to 'src/tool_cfgable.c')
-rw-r--r--src/tool_cfgable.c107
1 files changed, 67 insertions, 40 deletions
diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c
index a666951ec..c2cfac673 100644
--- a/src/tool_cfgable.c
+++ b/src/tool_cfgable.c
@@ -27,72 +27,99 @@
#include "memdebug.h" /* keep this as LAST include */
-/* TODO: review that all dinamically allocated fields are free'd */
+/* TODO: review handling of unhandled fields marked below */
void free_config_fields(struct Configurable *config)
{
+ if(config->easy) {
+ curl_easy_cleanup(config->easy);
+ config->easy = NULL;
+ }
+
Curl_safefree(config->random_file);
Curl_safefree(config->egd_file);
- Curl_safefree(config->trace_dump);
- Curl_safefree(config->cipher_list);
- Curl_safefree(config->userpwd);
- Curl_safefree(config->postfields);
- Curl_safefree(config->proxy);
- Curl_safefree(config->proxyuserpwd);
- Curl_safefree(config->noproxy);
+
+ /* config->useragent not handled */
+
Curl_safefree(config->cookie);
+ Curl_safefree(config->cookiejar);
Curl_safefree(config->cookiefile);
- Curl_safefree(config->krblevel);
+
+ Curl_safefree(config->postfields);
+ Curl_safefree(config->referer);
+
Curl_safefree(config->headerfile);
Curl_safefree(config->ftpport);
+ Curl_safefree(config->iface);
+
Curl_safefree(config->range);
- Curl_safefree(config->customrequest);
- Curl_safefree(config->writeout);
- if(config->httppost) {
- curl_formfree(config->httppost);
- config->httppost = NULL;
- }
+ Curl_safefree(config->userpwd);
+ Curl_safefree(config->tls_username);
+ Curl_safefree(config->tls_password);
+ Curl_safefree(config->tls_authtype);
+ Curl_safefree(config->proxyuserpwd);
+ Curl_safefree(config->proxy);
+
+ Curl_safefree(config->noproxy);
+ Curl_safefree(config->mail_from);
+ curl_slist_free_all(config->mail_rcpt);
Curl_safefree(config->netrc_file);
+
+ /* config->url_list not handled */
+ /* config->url_last not handled */
+ /* config->url_get not handled */
+ /* config->url_out not handled */
+
+ Curl_safefree(config->cipher_list);
Curl_safefree(config->cert);
- Curl_safefree(config->cacert);
Curl_safefree(config->cert_type);
+ Curl_safefree(config->cacert);
Curl_safefree(config->capath);
Curl_safefree(config->crlfile);
- Curl_safefree(config->cookiejar);
- Curl_safefree(config->ftp_account);
- Curl_safefree(config->ftp_alternative_to_user);
- Curl_safefree(config->iface);
- Curl_safefree(config->socksproxy);
- Curl_safefree(config->libcurl);
- Curl_safefree(config->key_passwd);
Curl_safefree(config->key);
Curl_safefree(config->key_type);
+ Curl_safefree(config->key_passwd);
Curl_safefree(config->pubkey);
- Curl_safefree(config->referer);
Curl_safefree(config->hostpubmd5);
- Curl_safefree(config->mail_from);
-#ifdef USE_TLS_SRP
- Curl_safefree(config->tls_authtype);
- Curl_safefree(config->tls_username);
- Curl_safefree(config->tls_password);
-#endif
-#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
- Curl_safefree(config->socks5_gssapi_service);
-#endif
+ /* config->engine not handled */
- curl_slist_free_all(config->quote); /* checks for config->quote == NULL */
- curl_slist_free_all(config->prequote);
+ Curl_safefree(config->customrequest);
+ Curl_safefree(config->krblevel);
+ Curl_safefree(config->trace_dump);
+
+ /* config->trace_stream not handled */
+
+ Curl_safefree(config->writeout);
+
+ /* config->errors not handled */
+
+ curl_slist_free_all(config->quote);
curl_slist_free_all(config->postquote);
+ curl_slist_free_all(config->prequote);
+
curl_slist_free_all(config->headers);
+
+ if(config->httppost) {
+ curl_formfree(config->httppost);
+ config->httppost = NULL;
+ }
+
+ /* config->last_post not handled */
+
curl_slist_free_all(config->telnet_options);
- curl_slist_free_all(config->mail_rcpt);
curl_slist_free_all(config->resolve);
- if(config->easy) {
- curl_easy_cleanup(config->easy);
- config->easy = NULL;
- }
+ Curl_safefree(config->socksproxy);
+ Curl_safefree(config->socks5_gssapi_service);
+
+ Curl_safefree(config->ftp_account);
+ Curl_safefree(config->ftp_alternative_to_user);
+
+ Curl_safefree(config->libcurl);
+
+ /* config->outs not handled */
+
}