diff options
| author | Jani Nikula <jani@nikula.org> | 2016-12-17 18:20:26 +0200 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-01-07 08:24:07 -0400 |
| commit | 08b6fd75ab5691e31bc9c3fbcbdfc719f9b5fe62 (patch) | |
| tree | 673989cec9c9e75959add30c531f474917f5196f /notmuch-config.c | |
| parent | 11064124732961f6fcfd78226ebaba0abed2c8fe (diff) | |
cli/config: allocate config using talloc_zero
Do not initialize each field separately. It's more robust to allocate
the config with zero initialization, and only set the non-zero
defaults individually.
Diffstat (limited to 'notmuch-config.c')
| -rw-r--r-- | notmuch-config.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/notmuch-config.c b/notmuch-config.c index cdb4088d..6d50be4c 100644 --- a/notmuch-config.c +++ b/notmuch-config.c @@ -334,7 +334,7 @@ notmuch_config_open (void *ctx, int file_had_search_group; int file_had_crypto_group; - notmuch_config_t *config = talloc (ctx, notmuch_config_t); + notmuch_config_t *config = talloc_zero (ctx, notmuch_config_t); if (config == NULL) { fprintf (stderr, "Out of memory.\n"); return NULL; @@ -342,6 +342,9 @@ notmuch_config_open (void *ctx, talloc_set_destructor (config, notmuch_config_destructor); + /* non-zero defaults */ + config->maildir_synchronize_flags = TRUE; + if (filename) { config->filename = talloc_strdup (config, filename); } else if ((notmuch_config_env = getenv ("NOTMUCH_CONFIG"))) { @@ -353,21 +356,6 @@ notmuch_config_open (void *ctx, config->key_file = g_key_file_new (); - config->is_new = FALSE; - config->database_path = NULL; - config->user_name = NULL; - config->user_primary_email = NULL; - config->user_other_email = NULL; - config->user_other_email_length = 0; - config->new_tags = NULL; - config->new_tags_length = 0; - config->new_ignore = NULL; - config->new_ignore_length = 0; - config->maildir_synchronize_flags = TRUE; - config->search_exclude_tags = NULL; - config->search_exclude_tags_length = 0; - config->crypto_gpg_path = NULL; - if (! get_config_from_file (config, create_new)) { talloc_free (config); return NULL; |
