diff --git a/cfg.c b/cfg.c index e4069d68..c625a2fb 100644 --- a/cfg.c +++ b/cfg.c @@ -41,6 +41,7 @@ load_cfg(const char *path, struct cmd_q *cmdq, char **cause) size_t len, oldlen; struct cmd_list *cmdlist; + log_debug("loading %s", path); if ((f = fopen(path, "rb")) == NULL) { xasprintf(cause, "%s: %s", path, strerror(errno)); return (-1); diff --git a/cmd-queue.c b/cmd-queue.c index 07884df2..fba371dd 100644 --- a/cmd-queue.c +++ b/cmd-queue.c @@ -183,6 +183,7 @@ cmdq_continue(struct cmd_q *cmdq) struct cmd_q_item *next; enum cmd_retval retval; int guards, empty; + char s[1024]; guards = 0; if (c != NULL && c->session != NULL) @@ -204,11 +205,19 @@ cmdq_continue(struct cmd_q *cmdq) next = TAILQ_NEXT(cmdq->item, qentry); while (cmdq->cmd != NULL) { + cmd_print(cmdq->cmd, s, sizeof s); + log_debug("cmdq %p: %s (client %d)", cmdq, s, + cmdq->client != NULL ? cmdq->client->ibuf.fd : -1); + if (guards) cmdq_print(cmdq, "%%begin"); retval = cmdq->cmd->entry->exec(cmdq->cmd, cmdq); - if (guards) - cmdq_print(cmdq, "%%end"); + if (guards) { + if (retval == CMD_RETURN_ERROR) + cmdq_print(cmdq, "%%error"); + else + cmdq_print(cmdq, "%%end"); + } if (retval == CMD_RETURN_ERROR) break;