version 1.12, 2016/10/15 00:12:58 |
version 1.13, 2016/10/16 17:55:14 |
|
|
const char *name; |
const char *name; |
struct cmd_find_state fs; |
struct cmd_find_state fs; |
struct hook *hook; |
struct hook *hook; |
struct cmd_q *hooks_cmdq; |
struct cmd_q *new_cmdq, *loop; |
|
|
name = notify_hooks[ne->type]; |
name = notify_hooks[ne->type]; |
if (name == NULL) |
if (name == NULL) |
|
|
return; |
return; |
log_debug("notify hook %s", name); |
log_debug("notify hook %s", name); |
|
|
hooks_cmdq = cmdq_new(NULL); |
new_cmdq = cmdq_get_command(hook->cmdlist, &fs, NULL, CMD_Q_NOHOOKS); |
hooks_cmdq->flags |= CMD_Q_NOHOOKS; |
|
|
|
cmd_find_copy_state(&hooks_cmdq->current, &fs); |
for (loop = new_cmdq; loop != NULL; loop = loop->next) |
hooks_cmdq->parent = NULL; |
loop->hook = xstrdup(name); |
|
|
cmdq_run(hooks_cmdq, hook->cmdlist, NULL); |
cmdq_append(NULL, new_cmdq); |
cmdq_free(hooks_cmdq); |
|
} |
} |
|
|
static void |
static void |