X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.c;fp=notmuch.c;h=c75b0188e7dfc901d9822558135117c404b93bde;hp=68a785e25bf0b826a17071bc8162edefe30fb87b;hb=5cbddf7e7a96a801e5ad3482b2636aff375a0821;hpb=eaa5199f5bf761d3b57f7ed22e125e716446a1cb diff --git a/notmuch.c b/notmuch.c index 68a785e2..c75b0188 100644 --- a/notmuch.c +++ b/notmuch.c @@ -429,11 +429,18 @@ notmuch_command (notmuch_database_t *notmuch, * false on errors. */ static bool -try_external_command (char *argv[]) +try_external_command (const char *config_file_name, char *argv[]) { char *old_argv0 = argv[0]; bool ret = true; + if (config_file_name) { + if (setenv ("NOTMUCH_CONFIG", config_file_name, 1)) { + perror ("setenv"); + exit (1); + } + } + argv[0] = talloc_asprintf (NULL, "notmuch-%s", old_argv0); /* @@ -493,7 +500,7 @@ main (int argc, char *argv[]) /* if command->function is NULL, try external command */ if (! command || ! command->function) { /* This won't return if the external command is found. */ - if (try_external_command (argv + opt_index)) + if (try_external_command (config_file_name, argv + opt_index)) fprintf (stderr, "Error: Unknown command '%s' (see \"notmuch help\")\n", command_name); ret = EXIT_FAILURE;