aboutsummaryrefslogtreecommitdiff
path: root/notmuch.c
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2020-12-21 08:55:14 -0400
committerDavid Bremner <david@tethera.net>2021-02-06 19:05:19 -0400
commit319efe21c9d2754c99951cecc71184faf7ca9054 (patch)
treea7295353f62f3773fec4ca3663c292fc496c5cd0 /notmuch.c
parent06a64cf0aa2bc3de083d0c317726863ebeed504f (diff)
CLI: add (unused) database argument to subcommands.
This will allow transitioning individual subcommands to the new configuration framework. Eventually when they are all converted we can remove the notmuch_config_t * argument. For now, live with the parameter shadowing in some some subcommands; it will go away when they are converted.
Diffstat (limited to 'notmuch.c')
-rw-r--r--notmuch.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/notmuch.c b/notmuch.c
index 314bf53e..fd4a7945 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -27,8 +27,11 @@
*
* The return value will be used as notmuch exit status code,
* preferably EXIT_SUCCESS or EXIT_FAILURE.
+ *
+ * Each subcommand should be passed either a config object, or an open
+ * database
*/
-typedef int (*command_function_t) (notmuch_config_t *config, int argc, char *argv[]);
+typedef int (*command_function_t) (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]);
typedef struct command {
const char *name;
@@ -38,10 +41,10 @@ typedef struct command {
} command_t;
static int
-notmuch_help_command (notmuch_config_t *config, int argc, char *argv[]);
+notmuch_help_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]);
static int
-notmuch_command (notmuch_config_t *config, int argc, char *argv[]);
+notmuch_command (notmuch_config_t *config, notmuch_database_t *notmuch, int argc, char *argv[]);
static int
_help_for (const char *topic);
@@ -335,7 +338,7 @@ _help_for (const char *topic_name)
}
static int
-notmuch_help_command (unused (notmuch_config_t *config), int argc, char *argv[])
+notmuch_help_command (unused (notmuch_config_t *config), unused(notmuch_database_t *notmuch), int argc, char *argv[])
{
int opt_index;
@@ -360,6 +363,7 @@ notmuch_help_command (unused (notmuch_config_t *config), int argc, char *argv[])
*/
static int
notmuch_command (notmuch_config_t *config,
+ unused(notmuch_database_t *notmuch),
unused(int argc), unused(char **argv))
{
char *db_path;
@@ -369,7 +373,7 @@ notmuch_command (notmuch_config_t *config,
* notmuch_setup_command which will give a nice welcome message,
* and interactively guide the user through the configuration. */
if (notmuch_config_is_new (config))
- return notmuch_setup_command (config, 0, NULL);
+ return notmuch_setup_command (config, NULL, 0, NULL);
/* Notmuch is already configured, but is there a database? */
db_path = talloc_asprintf (config, "%s/%s",
@@ -502,7 +506,7 @@ main (int argc, char *argv[])
goto DONE;
}
- ret = (command->function)(config, argc - opt_index, argv + opt_index);
+ ret = (command->function)(config, NULL, argc - opt_index, argv + opt_index);
DONE:
if (config)