X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.c;h=539ac58c445a6e4dd222e987f3e255dde5aa4519;hp=cc9c34aefb30de98d1eafa27437d63608a67f54e;hb=5bdb8549f619bbcd9fcd6161749dabbb1710dab9;hpb=4a6721970a42a9f86149fb5d395d1001fed2d305 diff --git a/notmuch.c b/notmuch.c index cc9c34ae..539ac58c 100644 --- a/notmuch.c +++ b/notmuch.c @@ -46,7 +46,7 @@ notmuch_command (notmuch_config_t *config, int argc, char *argv[]); static int _help_for (const char *topic); -static notmuch_bool_t print_version = FALSE, print_help = FALSE; +static bool print_version = false, print_help = false; const char *notmuch_requested_db_uuid = NULL; const notmuch_opt_desc_t notmuch_shared_options [] = { @@ -96,6 +96,46 @@ int notmuch_minimal_options (const char *subcommand_name, return opt_index; } + +struct _notmuch_client_indexing_cli_choices indexing_cli_choices = { }; +const notmuch_opt_desc_t notmuch_shared_indexing_options [] = { + { .opt_bool = &indexing_cli_choices.try_decrypt, + .present = &indexing_cli_choices.try_decrypt_set, + .name = "try-decrypt" }, + { } +}; + + +notmuch_status_t +notmuch_process_shared_indexing_options (notmuch_database_t *notmuch, g_mime_3_unused(notmuch_config_t *config)) +{ + if (indexing_cli_choices.opts == NULL) + indexing_cli_choices.opts = notmuch_database_get_default_indexopts (notmuch); + if (indexing_cli_choices.try_decrypt_set) { + notmuch_status_t status; + if (indexing_cli_choices.opts == NULL) + return NOTMUCH_STATUS_OUT_OF_MEMORY; + status = notmuch_indexopts_set_try_decrypt (indexing_cli_choices.opts, indexing_cli_choices.try_decrypt); + if (status != NOTMUCH_STATUS_SUCCESS) { + fprintf (stderr, "Error: Failed to set try_decrypt to %s. (%s)\n", + indexing_cli_choices.try_decrypt ? "True" : "False", notmuch_status_to_string (status)); + notmuch_indexopts_destroy (indexing_cli_choices.opts); + indexing_cli_choices.opts = NULL; + return status; + } + } +#if (GMIME_MAJOR_VERSION < 3) + if (indexing_cli_choices.opts && notmuch_indexopts_get_try_decrypt (indexing_cli_choices.opts)) { + const char* gpg_path = notmuch_config_get_crypto_gpg_path (config); + if (gpg_path && strcmp(gpg_path, "gpg")) + fprintf (stderr, "Warning: deprecated crypto.gpg_path is set to '%s'\n" + "\tbut ignoring (use $PATH instead)\n", gpg_path); + } +#endif + return NOTMUCH_STATUS_SUCCESS; +} + + static command_t commands[] = { { NULL, notmuch_command, NOTMUCH_CONFIG_OPEN | NOTMUCH_CONFIG_CREATE, "Notmuch main command." }, @@ -371,13 +411,13 @@ notmuch_command (notmuch_config_t *config, * is). * * Does not return if the external command is found and - * executed. Return TRUE if external command is not found. Return - * FALSE on errors. + * executed. Return true if external command is not found. Return + * false on errors. */ -static notmuch_bool_t try_external_command(char *argv[]) +static bool try_external_command(char *argv[]) { char *old_argv0 = argv[0]; - notmuch_bool_t ret = TRUE; + bool ret = true; argv[0] = talloc_asprintf (NULL, "notmuch-%s", old_argv0); @@ -389,7 +429,7 @@ static notmuch_bool_t try_external_command(char *argv[]) if (errno != ENOENT) { fprintf (stderr, "Error: Running external command '%s' failed: %s\n", argv[0], strerror(errno)); - ret = FALSE; + ret = false; } talloc_free (argv[0]);