]> git.cworth.org Git - notmuch/blobdiff - hooks.c
emacs: Add new option notmuch-search-hide-excluded
[notmuch] / hooks.c
diff --git a/hooks.c b/hooks.c
index 59c5807065fc4ee58974a7eec196c7335bcbb8e3..0cf72e748bc983d60aa09a074375b5fef2c96d97 100644 (file)
--- a/hooks.c
+++ b/hooks.c
 #include <sys/wait.h>
 
 int
-notmuch_run_hook (const char *db_path, const char *hook)
+notmuch_run_hook (notmuch_database_t *notmuch, const char *hook)
 {
     char *hook_path;
+    const char *config_path;
     int status = 0;
     pid_t pid;
 
-    hook_path = talloc_asprintf (NULL, "%s/%s/%s/%s", db_path, ".notmuch",
-                                "hooks", hook);
+    hook_path = talloc_asprintf (notmuch, "%s/%s",
+                                notmuch_config_get (notmuch, NOTMUCH_CONFIG_HOOK_DIR),
+                                hook);
     if (hook_path == NULL) {
        fprintf (stderr, "Out of memory\n");
        return 1;
     }
 
+    config_path = notmuch_config_path (notmuch);
+    if (setenv ("NOTMUCH_CONFIG", config_path, 1)) {
+       perror ("setenv");
+       return 1;
+    }
+
     /* Check access before fork() for speed and simplicity of error handling. */
     if (access (hook_path, X_OK) == -1) {
        /* Ignore ENOENT. It's okay not to have a hook, hook dir, or even