From c8451a503f24ac19ae2ac7796b1f52f4e0caf133 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Tue, 29 Jan 2013 23:46:20 +0200 Subject: [PATCH] [PATCH 2/6] cli: make notmuch_config_open() "is new" parameter input only --- 69/81bad0e310d2969af32d760509a26f0e939474 | 382 ++++++++++++++++++++++ 1 file changed, 382 insertions(+) create mode 100644 69/81bad0e310d2969af32d760509a26f0e939474 diff --git a/69/81bad0e310d2969af32d760509a26f0e939474 b/69/81bad0e310d2969af32d760509a26f0e939474 new file mode 100644 index 000000000..bb6e19ecb --- /dev/null +++ b/69/81bad0e310d2969af32d760509a26f0e939474 @@ -0,0 +1,382 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id C08C7431FC0 + for ; Tue, 29 Jan 2013 13:46:48 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" +X-Spam-Flag: NO +X-Spam-Score: -0.7 +X-Spam-Level: +X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id Wr3dDcjZ83O9 for ; + Tue, 29 Jan 2013 13:46:46 -0800 (PST) +Received: from mail-lb0-f180.google.com (mail-lb0-f180.google.com + [209.85.217.180]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 33259431FC7 + for ; Tue, 29 Jan 2013 13:46:44 -0800 (PST) +Received: by mail-lb0-f180.google.com with SMTP id q12so1346139lbc.11 + for ; Tue, 29 Jan 2013 13:46:42 -0800 (PST) +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=google.com; s=20120113; + h=x-received:from:to:subject:date:message-id:x-mailer:in-reply-to + :references:in-reply-to:references:x-gm-message-state; + bh=AprAEVOn2F1FQ/1jgdf9PZml3difnM49BD/sSq5KuVA=; + b=NNqQg6f0eEgKsL3LPFO5l0WRWjKurBE78GTXlCwHbNMCJF99BKyhYTwd2XJQluJmJn + bcO+TDKmH4waVu99Usri6Ddi9PmsRuCNERdrnZg/xEYqe2HYnReWRBD/gldB26suovRj + MbKuZplAmt1l9ttsMx93CKcn72ysA6CgKwDrHOmPzKqU2UyjHaKm6FQFZyP6zqH7CMEO + zRhldi6lhOsppPJhaIlMYOH9d0sJAI4VLlwYktpiSWrgPKy7io6AXBRmQUO0uSI27eJO + ZkduiYCEKIXQxNuPmiYZOBZ8hiC0FnOPSN7qVDH4VrGVeJ4AcavPT9ffPiLtdK5jqZg0 + Z2bA== +X-Received: by 10.112.44.229 with SMTP id h5mr1097991lbm.12.1359496002607; + Tue, 29 Jan 2013 13:46:42 -0800 (PST) +Received: from localhost (dsl-hkibrasgw4-50df51-27.dhcp.inet.fi. + [80.223.81.27]) + by mx.google.com with ESMTPS id z4sm5588640lbn.17.2013.01.29.13.46.39 + (version=TLSv1.2 cipher=RC4-SHA bits=128/128); + Tue, 29 Jan 2013 13:46:41 -0800 (PST) +From: Jani Nikula +To: notmuch@notmuchmail.org +Subject: [PATCH 2/6] cli: make notmuch_config_open() "is new" parameter input + only +Date: Tue, 29 Jan 2013 23:46:20 +0200 +Message-Id: + <697799bff100a6ab0467016dc717c7f210eeeb4a.1359495450.git.jani@nikula.org> +X-Mailer: git-send-email 1.7.10.4 +In-Reply-To: +References: +In-Reply-To: +References: +X-Gm-Message-State: + ALoCoQn/qvOY1g7zSEhd66PkDfZTNCQjyDXnYPpxQclGFMbIyaBFOaJAYjoxTe8/RBZazhD9ndBF +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Tue, 29 Jan 2013 21:46:48 -0000 + +Use the notmuch_config_is_new() function instead. +--- + notmuch-client.h | 2 +- + notmuch-config.c | 32 +++++++++++--------------------- + notmuch-count.c | 2 +- + notmuch-dump.c | 2 +- + notmuch-new.c | 2 +- + notmuch-reply.c | 2 +- + notmuch-restore.c | 2 +- + notmuch-search.c | 2 +- + notmuch-setup.c | 7 +++---- + notmuch-show.c | 2 +- + notmuch-tag.c | 2 +- + notmuch.c | 5 ++--- + test/random-corpus.c | 2 +- + 13 files changed, 26 insertions(+), 38 deletions(-) + +diff --git a/notmuch-client.h b/notmuch-client.h +index 07367e0..b3dcb21 100644 +--- a/notmuch-client.h ++++ b/notmuch-client.h +@@ -248,7 +248,7 @@ typedef struct _notmuch_config notmuch_config_t; + notmuch_config_t * + notmuch_config_open (void *ctx, + const char *filename, +- notmuch_bool_t *is_new_ret); ++ notmuch_bool_t create_new); + + void + notmuch_config_close (notmuch_config_t *config); +diff --git a/notmuch-config.c b/notmuch-config.c +index e733e92..247fbe4 100644 +--- a/notmuch-config.c ++++ b/notmuch-config.c +@@ -233,10 +233,9 @@ get_username_from_passwd_file (void *ctx) + notmuch_config_t * + notmuch_config_open (void *ctx, + const char *filename, +- notmuch_bool_t *is_new_ret) ++ notmuch_bool_t create_new) + { + GError *error = NULL; +- int is_new = 0; + size_t tmp; + char *notmuch_config_env = NULL; + int file_had_database_group; +@@ -245,9 +244,6 @@ notmuch_config_open (void *ctx, + int file_had_maildir_group; + int file_had_search_group; + +- if (is_new_ret) +- *is_new_ret = 0; +- + notmuch_config_t *config = talloc (ctx, notmuch_config_t); + if (config == NULL) { + fprintf (stderr, "Out of memory.\n"); +@@ -286,17 +282,16 @@ notmuch_config_open (void *ctx, + G_KEY_FILE_KEEP_COMMENTS, + &error)) + { +- /* If the caller passed a non-NULL value for is_new_ret, then +- * the caller is prepared for a default configuration file in +- * the case of FILE NOT FOUND. Otherwise, any read failure is +- * an error. ++ /* If create_new is true, then the caller is prepared for a ++ * default configuration file in the case of FILE NOT ++ * FOUND. Otherwise, any read failure is an error. + */ +- if (is_new_ret && ++ if (create_new && + error->domain == G_FILE_ERROR && + error->code == G_FILE_ERROR_NOENT) + { + g_error_free (error); +- is_new = 1; ++ config->is_new = TRUE; + } + else + { +@@ -379,7 +374,7 @@ notmuch_config_open (void *ctx, + } + + if (notmuch_config_get_search_exclude_tags (config, &tmp) == NULL) { +- if (is_new) { ++ if (config->is_new) { + const char *tags[] = { "deleted", "spam" }; + notmuch_config_set_search_exclude_tags (config, tags, 2); + } else { +@@ -399,7 +394,7 @@ notmuch_config_open (void *ctx, + /* Whenever we know of configuration sections that don't appear in + * the configuration file, we add some comments to help the user + * understand what can be done. */ +- if (is_new) ++ if (config->is_new) + { + g_key_file_set_comment (config->key_file, NULL, NULL, + toplevel_config_comment, NULL); +@@ -434,11 +429,6 @@ notmuch_config_open (void *ctx, + search_config_comment, NULL); + } + +- if (is_new_ret) +- *is_new_ret = is_new; +- +- config->is_new = is_new; +- + return config; + } + +@@ -719,7 +709,7 @@ notmuch_config_command_get (void *ctx, char *item) + { + notmuch_config_t *config; + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +@@ -781,7 +771,7 @@ notmuch_config_command_set (void *ctx, char *item, int argc, char *argv[]) + if (_item_split (item, &group, &key)) + return 1; + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +@@ -818,7 +808,7 @@ notmuch_config_command_list (void *ctx) + char **groups; + size_t g, groups_length; + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-count.c b/notmuch-count.c +index 2f98128..61722ed 100644 +--- a/notmuch-count.c ++++ b/notmuch-count.c +@@ -62,7 +62,7 @@ notmuch_count_command (void *ctx, int argc, char *argv[]) + return 1; + } + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-dump.c b/notmuch-dump.c +index a3244e0..845a67e 100644 +--- a/notmuch-dump.c ++++ b/notmuch-dump.c +@@ -34,7 +34,7 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[]) + notmuch_tags_t *tags; + const char *query_str = ""; + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-new.c b/notmuch-new.c +index feb9c32..4915418 100644 +--- a/notmuch-new.c ++++ b/notmuch-new.c +@@ -875,7 +875,7 @@ notmuch_new_command (void *ctx, int argc, char *argv[]) + return 1; + } + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-reply.c b/notmuch-reply.c +index 22c58ff..9da42b9 100644 +--- a/notmuch-reply.c ++++ b/notmuch-reply.c +@@ -762,7 +762,7 @@ notmuch_reply_command (void *ctx, int argc, char *argv[]) + + notmuch_exit_if_unsupported_format (); + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-restore.c b/notmuch-restore.c +index cf26a42..dd2507f 100644 +--- a/notmuch-restore.c ++++ b/notmuch-restore.c +@@ -139,7 +139,7 @@ notmuch_restore_command (unused (void *ctx), int argc, char *argv[]) + int opt_index; + int input_format = DUMP_FORMAT_AUTO; + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-search.c b/notmuch-search.c +index 0b0a879..fac6663 100644 +--- a/notmuch-search.c ++++ b/notmuch-search.c +@@ -371,7 +371,7 @@ notmuch_search_command (void *ctx, int argc, char *argv[]) + + notmuch_exit_if_unsupported_format (); + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-setup.c b/notmuch-setup.c +index 94d0aa7..72d862a 100644 +--- a/notmuch-setup.c ++++ b/notmuch-setup.c +@@ -130,7 +130,6 @@ notmuch_setup_command (unused (void *ctx), + size_t old_other_emails_len; + GPtrArray *other_emails; + unsigned int i; +- int is_new; + const char **new_tags; + size_t new_tags_len; + const char **search_exclude_tags; +@@ -147,9 +146,9 @@ notmuch_setup_command (unused (void *ctx), + chomp_newline (response); \ + } while (0) + +- config = notmuch_config_open (ctx, NULL, &is_new); ++ config = notmuch_config_open (ctx, NULL, TRUE); + +- if (is_new) ++ if (notmuch_config_is_new (config)) + welcome_message_pre_setup (); + + prompt ("Your full name [%s]: ", notmuch_config_get_user_name (config)); +@@ -229,7 +228,7 @@ notmuch_setup_command (unused (void *ctx), + + + if (! notmuch_config_save (config)) { +- if (is_new) ++ if (notmuch_config_is_new (config)) + welcome_message_post_setup (); + return 0; + } else { +diff --git a/notmuch-show.c b/notmuch-show.c +index cbfc2d1..5ae5d7d 100644 +--- a/notmuch-show.c ++++ b/notmuch-show.c +@@ -1176,7 +1176,7 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[])) + else + params.entire_thread = FALSE; + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch-tag.c b/notmuch-tag.c +index d9daf8f..148e856 100644 +--- a/notmuch-tag.c ++++ b/notmuch-tag.c +@@ -236,7 +236,7 @@ notmuch_tag_command (void *ctx, int argc, char *argv[]) + return 1; + } + +- config = notmuch_config_open (ctx, NULL, NULL); ++ config = notmuch_config_open (ctx, NULL, FALSE); + if (config == NULL) + return 1; + +diff --git a/notmuch.c b/notmuch.c +index a674481..b413b53 100644 +--- a/notmuch.c ++++ b/notmuch.c +@@ -187,16 +187,15 @@ static int + notmuch (void *ctx) + { + notmuch_config_t *config; +- notmuch_bool_t is_new; + char *db_path; + struct stat st; + +- config = notmuch_config_open (ctx, NULL, &is_new); ++ config = notmuch_config_open (ctx, NULL, TRUE); + + /* If the user has never configured notmuch, then run + * notmuch_setup_command which will give a nice welcome message, + * and interactively guide the user through the configuration. */ +- if (is_new) { ++ if (notmuch_config_is_new (config)) { + notmuch_config_close (config); + return notmuch_setup_command (ctx, 0, NULL); + } +diff --git a/test/random-corpus.c b/test/random-corpus.c +index 8b7748e..790193d 100644 +--- a/test/random-corpus.c ++++ b/test/random-corpus.c +@@ -160,7 +160,7 @@ main (int argc, char **argv) + exit (1); + } + +- config = notmuch_config_open (ctx, config_path, NULL); ++ config = notmuch_config_open (ctx, config_path, FALSE); + if (config == NULL) + return 1; + +-- +1.7.10.4 + -- 2.26.2