aboutsummaryrefslogtreecommitdiff
path: root/control.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2013-03-11 09:35:44 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2013-03-11 09:35:44 +0000
commitc41d92d27a8083286793a58bc02ffc015d8c70ac (patch)
tree5847aa68545f1746ce5b2058d0d80bd446aff154 /control.c
parenta060aa2bf091c7befbb37f86ef450cd575a3e53e (diff)
downloadrtmux-c41d92d27a8083286793a58bc02ffc015d8c70ac.tar.gz
rtmux-c41d92d27a8083286793a58bc02ffc015d8c70ac.tar.bz2
rtmux-c41d92d27a8083286793a58bc02ffc015d8c70ac.zip
Add time and a command count to control mode guards, based on code from George
Nachman.
Diffstat (limited to 'control.c')
-rw-r--r--control.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/control.c b/control.c
index 06f20bbb..c888877e 100644
--- a/control.c
+++ b/control.c
@@ -68,8 +68,13 @@ control_callback(struct client *c, int closed, unused void *data)
}
if (cmd_string_parse(line, &cmdlist, NULL, 0, &cause) != 0) {
- control_write(c, "%%error in line \"%s\": %s", line,
- cause);
+ c->cmdq->time = time(NULL);
+ c->cmdq->number++;
+
+ cmdq_guard(c->cmdq, "begin");
+ control_write(c, "parse error: %s", cause);
+ cmdq_guard(c->cmdq, "error");
+
free(cause);
} else {
cmdq_run(c->cmdq, cmdlist);